ObjectAnimator在不褪色(ObjectAnimator not fading in)

2019-07-29 23:43发布

我想打一组按顺序使用动画的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();
}   

Answer 1:

虽然工作4.0+

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


Answer 2:

试试这个。

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


Answer 3:

布局已经完成后,你应该开始对象动画。

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
    }
});


文章来源: ObjectAnimator not fading in