2014-11-13 6 views
5

अब मैं एक बटन और इसकी पृष्ठभूमि के रूप में उपयोग चयनकर्ता है, चयनकर्ता है pressed और focus राज्य:एंड्रॉइड पर पृष्ठभूमि की स्थिति बदलते समय फीड आउट प्रभाव कैसे बनाएं?

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

और बटन के कोड:

<Button 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:background="@drawable/button_selector" 
    android:text="@string/hello_world" /> 

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

मैंने Google और कई दस्तावेज़ों की खोज की और बटन के स्रोत कोड को पढ़ा, मैंने पाया कि अगर मैं Override the setPressed function कर सकता हूं तो मैं इसे कर सकता हूं।

मैं setPressed में राज्य के बदलते हुए जान सकता हूं और एक अतिरिक्त बिटमैप खींच सकता हूं जो एनीमेशन फीका होगा। लेकिन मुझे लगता है कि यह एक अच्छा आदर्श नहीं है। तो मैं यह पूछने के लिए यहां आया कि क्या पहुंचने का कोई बेहतर तरीका है?

उत्तर

11

drawable चयनकर्ता में

<selector xmlns:android="http://schemas.android.com/apk/res/android" 
      android:enterFadeDuration="150" android:exitFadeDuration="150"> 
+0

भयानक फीका अवधि को परिभाषित करने की कोशिश करो! धन्यवाद! – zzy

संबंधित मुद्दे