दिलचस्प पोस्ट
कोणीय जेएस आवेदन के लिए प्रक्षेपक में एनिमेशन को अक्षम कैसे करें सिर्फ कॉलबैक का वादा नहीं है? मथ.फ्लूर () और गणित के बीच का अंतर। ट्रिन्केट () जावा कैलेंडर में जनवरी माह 0 क्यों है? आप जेएसपी में क्लासेस कैसे आयात करते हैं? कक्षा के लिए कंपाइलर द्वारा बनाए गए सभी सदस्य-फ़ंक्शन क्या हैं? क्या ऐसा हर समय होता है? कैसे जावास्क्रिप्ट में खिड़की के आकार परिवर्तन घटना ट्रिगर करने के लिए? किस बिंदु पर `के लिए` या `के लिए / आर` निर्देशिका (वृक्ष) की गणना करता है? जिनजा के साथ जेन्डर को प्रस्तुत करना स्ट्रिंग की बजाय अमान्य संख्या उत्पन्न करता है Xcode 7.2 कोई मिलते-जुलते प्रावधान प्रोफ़ाइल नहीं मिली माउस कर्सर को सी # का उपयोग कैसे करें? PHP को गतिशील रूप से XML फ़ाइल का प्रयोग कैसे करें? पायथन अनुरोध SSLError फेंकने कई श्रेणियों के साथ बॉक्सप्लेट्स के जेफ्री चाट स्केलिंग जावा एफएक्स में एफएक्स: आईडी और आईडी के बीच क्या अंतर है?

Android सूचीदृश्य चयनकर्ता रंग

नमस्ते,

मेरे पास Android में एक ListView के बारे में 2 प्रश्न हैं:

  1. मैं listview की केंद्रित पंक्ति का रंग कैसे प्राप्त करूं? मैंने ListView.getSelector () विधि का उपयोग करने की कोशिश की, जो इसके दस्तावेज़ीकरण के अनुसार मुझे चाहिए कि मुझे क्या चाहिए, लेकिन यह मुझे एक ड्रॉएबल ऑब्जेक्ट दे रहा है जो मुझे पता नहीं है कि कैसे रंग को पुनः प्राप्त किया जाए (यदि संभव हो तो ..)।

  2. मैं listview की केंद्रित पंक्ति का रंग कैसे सेट कर सकता हूं? यहां मैंने listview पर setSelector () पद्धति का उपयोग करने की कोशिश की, इसे एक ColorDrawable ऑब्जेक्ट पास करते हुए, लेकिन ऐसा करने का नतीजा यह है कि सूची दृश्य की पूरी पृष्ठभूमि को उस रंग में चित्रित किया गया है … और यह वही नहीं जो मुझे चाहिए बेशक…

धन्यवाद!

वेब के समाधान से एकत्रित समाधान "Android सूचीदृश्य चयनकर्ता रंग"

सूची चयनकर्ता एक StateListDrawable – इसमें प्रत्येक राज्य के लिए कई StateListDrawable संदर्भ शामिल हैं, जैसे चयनित, फ़ोकस, दबाए गए, अक्षम …

जब आप getSelector() का उपयोग कर getSelector() प्राप्त कर सकते हैं, तो मुझे विश्वास नहीं है कि आप एक StateListDrawable से विशिष्ट StateListDrawable प्राप्त कर सकते हैं, और न ही StateListDrawable ऐसा लगता है कि किसी भी तरह ColorDrawable से रंग सीधे प्रोग्राम को पुनर्प्राप्त करना संभव है।

रंग सेट करने के लिए, आपको ऊपर वर्णित के रूप में StateListDrawable आवश्यकता है आप इसे android:listSelector जरिए अपनी सूची में सेट कर सकते हैं android:listSelector सूची android:listSelector विशेषता, एक्सएमएल में android:listSelector को इस तरह परिभाषित करता है:

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

जोड़ने के लिए: @ क्रिस्टोफर का जवाब एपीआई 7/8 पर काम नहीं करता है (@ जॉनी की सही टिप्पणी के अनुसार) यदि आप रंगों का उपयोग कर रहे हैं, (मेरे परीक्षण में क्रिस्टोफर के अनुसार ड्रॉबल का इस्तेमाल किया जाता है)

रंगों का उपयोग करते समय ये 2.3 और नीचे के लिए निदान है :

  • एंड्रॉइड: संपूर्ण सूची फोकस पर रंग बदलता है, न केवल सूची आइटम देखें

@ चार्ल्स हार्ले के अनुसार, 2.3 और नीचे एक बग है, जहां एक रंग के साथ सूची आइटम को भरना रंग के कारण पूरी सूची में रंग भरने के कारण होता है उनका तय है कि आप जिस रंग को चाहते हैं उसमें shape को परिभाषित करने के लिए, और रंग के बजाय उसका उपयोग करना है।

अगर आप केवल चयनकर्ता के रूप में एक रंग का उपयोग करना चाहते हैं और एंड्रॉइड 2 (या कम से कम एंड्रॉइड 2 के लिए अनुमति देते हैं) को लक्षित कर रहे हैं, तो मैं इस लिंक को देखने का सुझाव देता हूं।