2012-06-17 3 views
19

में लुप्त नहीं हो रहा है मैं Animator सेट का उपयोग करके अनुक्रमिक रूप से एनिमेशन का एक सेट खेलने की कोशिश कर रहा हूं। अल्फा एनीमेशन (set1) को छोड़कर सबकुछ काम कर रहा है। यह 0.25f से 1 तक बदल रहा है लेकिन यह एनीमेशन में फीका नहीं है और set1 एनीमेशन के अंत में यह 0.25 से 1 तक बदल रहा है और setDuration पर विचार नहीं कर रहा है (नतीजतन मुझे प्रभाव में फीका नहीं मिल रहा है)। तो मेरे पास प्रभाव में फीका नहीं है ... जब मैं अपने आप से यह एनीमेशन करता हूं तो प्रभाव में फीका होता है .... कोई विचार?ऑब्जेक्टएनिमीटर

मैं इसे लागू करने के लिए अद्भुत nineoldandroids लाइब्रेरी का उपयोग कर रहा हूं।

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 
    final ImageView image = (ImageView) findViewById(R.id.image); 
    final AnimatorSet set = new AnimatorSet(); 
    set.play(ObjectAnimator.ofFloat(image, "translationX", 0, 100).setDuration(3000)); 

    final AnimatorSet set1 = new AnimatorSet(); 
    //THIS IS THE PROBLEMATIC ANIMATION!! 
    set1.play(ObjectAnimator.ofFloat(image, "alpha", 0.25f, 1).setDuration(3000)); 

    final AnimatorSet set2 = new AnimatorSet(); 
    set2.play(ObjectAnimator.ofFloat(image, "translationX", 100, 200).setDuration(3000)); 

    final AnimatorSet set3 = new AnimatorSet(); 
    set3.playSequentially(set,set1,set2); 
    set3.start(); 
} 
+2

मौसम की जांच करें 1) एनिमेटिंग ऑब्जेक्ट दृश्यमान है या नहीं –

+0

आपको 1 1f बनाना चाहिए। – tim687

उत्तर

5

इसे आजमाएं।

ObjectAnimator.ofFloat(image, "alpha", 0.25f, 1, 1) 
30

जबकि 4.0+

ObjectAnimator alphaAnimation = ObjectAnimator.ofFloat(image, View.ALPHA, 0,1); 
1

पर काम कर आप वस्तु एनिमेटर शुरू कर देना चाहिए के बाद लेआउट समाप्त कर दिया गया।

final View image = findViewById(R.id.image); 
final ViewTreeObserver observer = image.getViewTreeObserver(); 
observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 
    @Override 
    public void onGlobalLayout() { 
     observer.removeOnGlobalLayoutListener(this); 
     // start animators 
    } 
});