2012-07-12 18 views
15

फीका करें मैं एक चित्र गैलरी ऐप बना रहा हूं। मेरे पास वर्तमान में एक टेक्स्ट व्यू के साथ एक छविदृश्य है। वर्तमान में यह सिर्फ semitransparent है। मैं इसे फीका बनाना चाहता हूं, 3 सेकंड प्रतीक्षा करें, फिर 90% फीका। इसे फोकस करना या एक नई तस्वीर लोड करना इसे चक्र को दोहराएगा। मैंने एक दर्जन पृष्ठों के माध्यम से पढ़ा है और कुछ चीजों की कोशिश की है, कोई सफलता नहीं। मुझे बस एक फीका है और तत्काल फीका हुआ हैटेक्स्ट व्यू एनीमेशन - फीका, प्रतीक्षा करें,

+0

कुछ भी नहीं ???? –

उत्तर

3

आप तत्काल फीका आउट रोकने के लिए एक अतिरिक्त एनीमेशन ऑब्जेक्ट (जो इसके अल्फा को संशोधित नहीं करता है) का उपयोग कर सकते हैं, एनीमेशन लिस्टनर को अपने फीड-इन प्रभाव के लिए सेट करें और एनीमेशन पर अतिरिक्त एनीमेशन ऑब्जेक्ट शुरू करें फीड-इन , तो आप शुरू नहीं हो पाती बाहर अतिरिक्त एनीमेशन वस्तु का एनीमेशन अंत पर, यह आपकी मदद करेंगे, नीचे दिए गए लिंक की कोशिश ..

Auto fade-effect for textview

39
protected AlphaAnimation fadeIn = new AlphaAnimation(0.0f , 1.0f) ; 
protected AlphaAnimation fadeOut = new AlphaAnimation(1.0f , 0.0f) ; 
txtView.startAnimation(fadeIn); 
txtView.startAnimation(fadeOut); 
fadeIn.setDuration(1200); 
fadeIn.setFillAfter(true); 
fadeOut.setDuration(1200); 
fadeOut.setFillAfter(true); 
fadeOut.setStartOffset(4200+fadeIn.getStartOffset()); 

सफेद पृष्ठभूमि के लिए पूरी तरह से काम करता है। अन्यथा, जब आप AlphaAnimation कक्षा को तुरंत चालू करते हैं तो आपको मूल्यों को स्विच करने की आवश्यकता होती है। इस तरह:

AlphaAnimation fadeIn = new AlphaAnimation(1.0f , 0.0f); 
AlphaAnimation fadeOut = new AlphaAnimation(0.0f , 1.0f); 

यह काला पृष्ठभूमि और सफेद पाठ रंग के साथ काम करता है।

2

समाधान है कि मैं फीका पाशन के लिए मेरी परियोजना में इस्तेमाल किया है कि टेक्स्ट व्यू पर -इन/फीड-आउट एनीमेशन:

private void setUpFadeAnimation(final TextView textView) { 
    // Start from 0.1f if you desire 90% fade animation 
    final Animation fadeIn = new AlphaAnimation(0.0f, 1.0f); 
    fadeIn.setDuration(1000); 
    fadeIn.setStartOffset(3000); 
    // End to 0.1f if you desire 90% fade animation 
    final Animation fadeOut = new AlphaAnimation(1.0f, 0.0f); 
    fadeOut.setDuration(1000); 
    fadeOut.setStartOffset(3000); 

    fadeIn.setAnimationListener(new Animation.AnimationListener(){ 
     @Override 
     public void onAnimationEnd(Animation arg0) { 
      // start fadeOut when fadeIn ends (continue) 
      textView.startAnimation(fadeOut); 
     } 

     @Override 
     public void onAnimationRepeat(Animation arg0) { 
     } 

     @Override 
     public void onAnimationStart(Animation arg0) { 
     } 
    }); 

    fadeOut.setAnimationListener(new Animation.AnimationListener(){ 
     @Override 
     public void onAnimationEnd(Animation arg0) { 
      // start fadeIn when fadeOut ends (repeat) 
      textView.startAnimation(fadeIn); 
     } 

     @Override 
     public void onAnimationRepeat(Animation arg0) { 
     } 

     @Override 
     public void onAnimationStart(Animation arg0) { 
     } 
    }); 

    textView.startAnimation(fadeOut); 
} 

उम्मीद है कि यह मदद कर सकता है!

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