दिलचस्प पोस्ट
सरल पायथन चैलेंज: डाटा बफ़र पर सबसे तेज़ बीटावर्ड एक्सओआर जावा और सेलेनियम वेबड्रायवर का इस्तेमाल करते हुए फ़ॉर्म और आइफ्रेम के तत्वों को ढूंढें बहुस्तर पाठ के लिए एक एलीपिसिस लागू करना स्टोरीबोर्ड में कस्टम सेल रो ऊंचाई सेटिंग प्रतिसाद नहीं दे रहा है मैं जावास्क्रिप्ट में एक नियमित अभिव्यक्ति के लिए सभी मैचों को कैसे प्राप्त करूं? अंततः जब एक निबन्ध में निष्पादित नहीं की जाने वाली परिस्थितियां .. अंततः ब्लॉक करें फास्ट लॉग आधार 2 छत की गणना करें कोई WPF अनुप्रयोग से सांत्वना नहीं आउटपुट? मैं कैसे जान सकता हूँ जब कोई संपादन टेक्स्ट फोकस खो देता है? एएसपी.नेट एमवीसी 2.0 जेकग्रीड में खोज के कार्यान्वयन स्थानीय एप्लिकेशन डेटा निर्देशिका के पथ को प्राप्त करने का क्रॉस-प्लेटफ़ॉर्म तरीका क्या है? कैसे अजगर दुभाषिया को सही ढंग से स्ट्रिंग ऑपरेशन में गैर- ASCII वर्णों को संभालना? कितने मानदंडों के साथ निर्देशिका को फ़िल्टर करें.अनुक्रमितफ़ाइलें? सी ++ में आगे की घोषणा क्या है? पायथन में यूनिकोड वर्ण कैसे मुद्रित करें?

कस्टम चयनकर्ता के माध्यम से सूची दृश्य वस्तु पृष्ठभूमि

क्या सूची चयनकर्ता के माध्यम से प्रत्येक सूचीदृश्य आइटम के लिए एक कस्टम पृष्ठभूमि लागू करना संभव है?

डिफ़ॉल्ट चयनकर्ता state_focused="false" मामले के लिए @android:color/transparent निर्दिष्ट करता है, लेकिन इसे किसी कस्टम state_focused="false" बदलना उन आइटमों को प्रभावित नहीं करता है जो चयनित नहीं हैं। Romain Guy इस उत्तर में सुझाव देते हैं कि यह संभव है।

मैं वर्तमान में प्रत्येक दृश्य पर एक कस्टम पृष्ठभूमि का उपयोग करके इसे छिपा कर रहा हूं और जब आइटम को चुना जाता है / फोकस किया जाता है / जो कुछ भी चयनकर्ता दिखाया जाता है, तो इसे छिपाया जा रहा है, लेकिन यह एक जगह पर सभी को परिभाषित करने के लिए अधिक सुंदर होगा।

संदर्भ के लिए, यह चयनकर्ता है जिसे मैं कोशिश कर रहा हूं और यह काम कर रहा हूं:

 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="false" android:drawable="@drawable/list_item_gradient" /> <!-- Even though these two point to the same resource, have two states so the drawable will invalidate itself when coming out of pressed state. --> <item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_disabled" /> <item android:state_focused="true" android:state_enabled="false" android:drawable="@drawable/list_selector_background_disabled" /> <item android:state_focused="true" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" /> <item android:state_focused="false" android:state_pressed="true" android:drawable="@drawable/list_selector_background_transition" /> <item android:state_focused="true" android:drawable="@drawable/list_selector_background_focus" /> </selector> 

और इस तरह मैं चयनकर्ता को स्थापित कर रहा हूं:

 <ListView android:id="@android:id/list" android:layout_width="fill_parent" android:layout_height="fill_parent" android:listSelector="@drawable/list_selector_background" /> 

किसी भी सहायता के लिए अग्रिम रूप से धन्यवाद!

वेब के समाधान से एकत्रित समाधान "कस्टम चयनकर्ता के माध्यम से सूची दृश्य वस्तु पृष्ठभूमि"

मैं अपने आप से निराश हो गया और आखिरकार इसे हल किया रोमेन लड़के की ओर इशारा करते हुए, एक और राज्य है, "android:state_selected" , जिसे आपको उपयोग करना चाहिए। अपनी सूची आइटम की पृष्ठभूमि के लिए तैयार किए जाने वाले राज्य का उपयोग करें, और सूची के लिए तैयार किए जाने वाले एक अलग राज्य का उपयोग करें अपनी सूची के listSelector :

list_row_layout.xml:

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="?android:attr/listPreferredItemHeight" android:background="@drawable/listitem_background" > ... </LinearLayout> 

listitem_background.xml:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true" android:drawable="@color/android:transparent" /> <item android:drawable="@drawable/listitem_normal" /> </selector> 

layout.xml जिसमें सूचीदृश्य शामिल है:

 ... <ListView android:layout_width="fill_parent" android:layout_height="wrap_content" android:listSelector="@drawable/listitem_selector" /> ... 

listitem_selector.xml:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_pressed="true" android:drawable="@drawable/listitem_pressed" /> <item android:state_focused="true" android:drawable="@drawable/listitem_selected" /> </selector> 

जब आपके पास पृष्ठभूमि के रूप में पैडिंग के साथ 9-पैच ड्रॉएबल हो, तो डगलएमटीएन का समाधान काम नहीं करता। अजीब बातें होती हैं, मैं इसके बारे में बात करना नहीं चाहता, अगर आपको ऐसी समस्या है, तो आप उन्हें जानते हैं।

अब, यदि आप अलग-अलग राज्यों और 9-पैच डैश्युलेट्स (यह किसी भी ड्रॉबल और रंगों के साथ काम करेगा, मुझे लगता है) के साथ एक सूचीवलोकन करना है, तो आपको 2 चीजों को करना होगा:

  1. सूची में आइटम के लिए चयनकर्ता को सेट करें।
  2. सूची के लिए डिफ़ॉल्ट चयनकर्ता से छुटकारा पाएं

आपको क्या करना चाहिए पहले row_selector.xml को सेट करें:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android" > <item android:state_enabled="true" android:state_pressed="true" android:drawable="@drawable/list_item_bg_pressed" /> <item android:state_enabled="true" android:state_focused="true" android:drawable="@drawable/list_item_bg_focused" /> <item android:state_enabled="true" android:state_selected="true" android:drawable="@drawable/list_item_bg_focused" /> <item android:drawable="@drawable/list_item_bg_normal" /> </selector> 

android:state_selected मत भूलें android:state_selected यह android:state_focused तरह काम करता है android:state_focused सूची के लिए android:state_focused , लेकिन यह सूची आइटम के लिए लागू है।

अब मदों के चयनकर्ता को लागू करें (पंक्ति। Xml):

 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:background="@drawable/row_selector" > ... </RelativeLayout> 

सूची के लिए एक पारदर्शी चयनकर्ता बनाएं:

 <ListView android:id="@+id/android:list" ... android:listSelector="@android:color/transparent" /> 

यह बात करना चाहिए

अपनी सूचीदृश्य पंक्तियों के लिए कभी भी "पृष्ठभूमि रंग" का उपयोग नहीं करें …

यह प्रत्येक चयनकर्ता कार्रवाई को रोक देगा (मेरी समस्या थी!)

सौभाग्य!

एंड्रॉइड डेवलपर्स ब्लॉग में "क्यों मेरी सूची का काला है? एक एंड्रॉइड ऑप्टिमाइज़ेशन" स्क्रॉलिंग करते समय सूची पृष्ठभूमि काला क्यों हो जाता है, इस बारे में पूरी तरह से जानकारी है। सरल उत्तर: पारदर्शी (# 00000000) के लिए अपनी सूची पर कैश कॉलर सेट करें

यदि आप list_row_layout.xml में list_row_layout.xml , तो यह पर्याप्त है:

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="center_vertical" android:background="@drawable/listitem_background">... </LinearLayout> 

listitem_selector.xml:

 <?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:drawable="@color/dark" android:state_pressed="true" /> <item android:drawable="@color/dark" android:state_focused="true" /> <item android:drawable="@android:color/white" /> </selector> 

के बजाय:

 android:drawable="@color/transparent" 

लिखना

 android:drawable="@android:color/transparent" 

आप एक विषय लिख सकते हैं:

 <pre> android:name=".List10" android:theme="@style/Theme" 

theme.xml

 <style name="Theme" parent="android:Theme"> <item name="android:listViewStyle">@style/MyListView</item> </style> 

styles.xml

  <style name="MyListView" parent="@android:style/Widget.ListView"> <item name="android:listSelector">@drawable/my_selector</item> 

my_selector कस्टम चयनकर्ता के लिए अपनी इच्छा है मुझे खेद है मैं अपने कोड लिखने के लिए कैसे पता donot

मुझे यकीन नहीं है कि चयनकर्ता के जरिए अपना वांछित प्रभाव कैसे हासिल करना है – आखिरकार, परिभाषा के अनुसार, पूरी सूची के लिए एक चयनकर्ता होता है।

हालांकि, आप चयन परिवर्तनों पर नियंत्रण प्राप्त कर सकते हैं और जो चाहें उसे आकर्षित कर सकते हैं। इस नमूना प्रोजेक्ट में , मैं चयनकर्ता को पारदर्शी बनाता हूं और चयनित आइटम पर एक बार खींचता हूं।

मैं हमेशा एक ही पद्धति का उपयोग करता हूं और यह प्रत्येक समय काम करता है, हर जगह: मैं इस तरह एक चयनकर्ता का उपयोग करता हूं

 <item android:state_activated="true" android:color="@color/your_selected_color" /> <item android:state_pressed="true" android:color="@color/your_pressed_color" /> <item android:color="@color/your_normal_color"></item> 

और ListView (यह काम करने के लिए बहुत महत्वपूर्ण है) पर सेट करें विशेषता

 android:choiceMode="singleChoice" 

पाठ रंग के लिए सिर्फ रंग फ़ोल्डर में डालें (महत्वपूर्ण, ड्रॉएबल फ़ोल्डर नहीं!) इस तरह से एक चयनकर्ता

 <item android:state_activated="true" android:color="@color/your_selected_textColor" /> <item android:state_pressed="true" android:color="@color/your_pressed_textColor" /> <item android:color="@color/your_normal_textColor"></item> 

यह एक नमूना पंक्ति टेम्पलेट

 <ImageView android:id="@+skinMenu/lblIcon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center_horizontal" android:src="@drawable/menu_catalog" /> <TextView android:id="@+skinMenu/lblTitle" style="@style/superlabelStyle" android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_marginLeft="20dp" android:gravity="center_vertical" android:text="test menu testo" android:textColor="@color/menu_textcolor_selector" android:textSize="20dp" android:textStyle="bold" /> 

सब कुछ थकाऊ कामकाजी बिना काम करता है उममीद है कि इससे मदद मिलेगी

फ्रॉस्टवायर टीम यहाँ पर।

सभी चयनकर्ता बकवास एपीआई अपेक्षा के अनुरूप काम नहीं करता है इस धागे में दिए गए सभी समाधानों को किसी भी अच्छे के लिए प्रस्तुत करने की कोशिश करने के बाद, हमने केवल सूचीईव्यू आइटम को बढ़ाने के समय समस्या हल की।

  1. सुनिश्चित करें कि आपका आइटम इसे राज्य रखता है, हमने इसे मेनूइटम (बूलियन चयनित) के सदस्य चर के रूप में किया था

  2. जब आप बढ़ते हैं, तो पूछें कि क्या अंतर्निहित आइटम का चयन किया गया है, यदि हां, तो बस उस ड्रॉएबल संसाधन को सेट करें, जिसे आप पृष्ठभूमि के रूप में चाहते हैं (यह 9 पैच या जो भी हो)। सुनिश्चित करें कि आपका एडॉप्टर इस बारे में जानता है और यह कॉल को सूचित करता है () जब कुछ चुना गया है।

      @Override public View getView(int position, View convertView, ViewGroup parent) { View rowView = convertView; if (rowView == null) { LayoutInflater inflater = act.getLayoutInflater(); rowView = inflater.inflate(R.layout.slidemenu_listitem, null); MenuItemHolder viewHolder = new MenuItemHolder(); viewHolder.label = (TextView) rowView.findViewById(R.id.slidemenu_item_label); viewHolder.icon = (ImageView) rowView.findViewById(R.id.slidemenu_item_icon); rowView.setTag(viewHolder); } MenuItemHolder holder = (MenuItemHolder) rowView.getTag(); String s = items[position].label; holder.label.setText(s); holder.icon.setImageDrawable(items[position].icon); //Here comes the magic rowView.setSelected(items[position].selected); rowView.setBackgroundResource((rowView.isSelected()) ? R.drawable.slidemenu_item_background_selected : R.drawable.slidemenu_item_background); return rowView; } 

यह वास्तव में अच्छा होगा यदि चयनकर्ता वास्तव में काम करेंगे, सिद्धांत में यह एक अच्छा और सुरुचिपूर्ण समाधान है, लेकिन ऐसा लगता है कि यह टूटा हुआ है। चुम्मा।