डिफ़ॉल्ट चयनकर्ता के साथ, एक सूची आइटम को लंबे समय से दबाने से इसकी पृष्ठभूमि दो रंगों के बीच संक्रमण हो जाती है।एंड्रॉइड: सूची आइटम को लंबे समय तक दबाते समय चमक प्रभाव कैसे प्राप्त करें?
नीचे दिए गए चयनकर्ता को प्रतिस्थापित करने से प्रभाव को हटा दिया जाता है। this question के अनुसार, मुझे इसे पुन: पेश करने के लिए एक एनीमेशन की आवश्यकता है। मैं xml में ऐसा करने के बारे में कैसे जाउंगा?
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false" android:drawable="@android:color/transparent" />
<!--
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>
मिले on the web:
<?xml version="1.0" encoding="utf-8"?>
<selector
xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:state_pressed="true">
<shape>
<solid
android:color="@color/state_pressed" />
</shape>
</item>
<item
android:state_focused="true">
<shape>
<solid
android:color="@color/state_focused" />
</shape>
</item>
<item>
<shape>
<solid
android:color="@color/state_idle_grey" />
</shape>
</item>
</selector>
धन्यवाद, कि उत्कृष्ट है। –
कोई और विचार क्यों नहीं है? मैंने आपके द्वारा किए गए संक्रमण को लागू किया है, तो आप का मतलब है कि "list_selector_background_transition.xml" फ़ाइल के लिए हम आपके द्वारा कोड के दूसरे ब्लॉक में दिए गए संक्रमण को जोड़ते हैं? मैंने यह बिल्कुल किया लेकिन केवल एक रंग का पीछा किया गया है जो केवल "list_selector_background_pressed" लागू होता है – coderVishal
@coderVishal क्या आप 'RecyclerView' का उपयोग करते हैं? ** यह समाधान केवल तभी काम करता है जब आप 'AbsListView' ** (उदाहरण के लिए, ListView) के उप-वर्ग का उपयोग करते हैं। यह जांचता है कि क्या आइटम पृष्ठभूमि में 'ट्रांज़िशन ड्रॉबल' है और एनीमेशन शुरू होता है। दुर्भाग्य से यह 'रीसाइक्लिंग व्यू' के मामले में नहीं है, आपको एनीमेशन शुरू करने के लिए कुछ तंत्र का आविष्कार करना होगा। – Malcolm