2012-05-25 38 views
8

समाप्त होने के बाद अल्फा वैल्यू पुराने मूल्य पर वापस कूदता है मेरे पास एक लेआउट पर एक छविबटन व्यू है। यदि उपयोगकर्ता ImageButton पर क्लिक करते हैं तो बटन को फीका होना चाहिए।एंड्रॉइड अल्फा एनीमेशन: एनीमेशन

बटन Fadeout एनीमेशन इस तरह शुरू कर दिया हो जाएगा:

public void buttonClicked(View aButton){ 

    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f); 
    aAnim.setDuration(500); 

    aButton.startAnimation(aAnim); 

} 

यह काम करता है, लेकिन जैसे ही ImageButton बाहर फीका है, इसकी अल्फा मूल्य सही 1.0 करने के लिए वापस कूदता है और बटन को फिर से दिख रहा है।

मैंने इसे अस्थायी रूप से एक एनीमेशन श्रोता के साथ हल किया जो एनीमेशन के अंत में बटन इमेज को अदृश्य करने के लिए सेट करता है लेकिन यह मेरे लिए एक अजीब समाधान प्रतीत होता है।

एनीमेशन के अंतिम मूल्य पर बटन अल्फा वैल्यू रखने के लिए मुझे क्या करना है?

धन्यवाद।

+0

आपका "विषम समाधान" जाने का तरीका है। यह हनीकोम्ब से पहले एंड्रॉइड एनिमेशन के साथ एक ज्ञात समस्या है। आसान तरीका माइकट द्वारा किया गया है लेकिन यह हमेशा उस तरीके से काम नहीं करता है जिसकी आप अपेक्षा करते हैं –

उत्तर

22

aAnim.setFillAfter(true);

+0

धन्यवाद माइक! बस! – Tom

1

का उपयोग कर आप जब एनीमेशन समाप्त हो गया है, तो आप सही करने के लिए 'setFillAfter' सेट करना होगा नया मान सेट करना चाहते हैं की कोशिश करो।

public void buttonClicked(View aButton){  
    final Animation aAnim = new AlphaAnimation(1.0f, 0.0f); 
    aAnim.setDuration(500); 

    aAnim.setFillAfter(true); 
    aButton.startAnimation(aAnim); 
} 
+0

aAnim.setFillAfter (सत्य); <- एनीमेशन मोडिफायर हो जाता है, बटन नहीं। – LoungeKatt

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