我想要一个2秒的ImageView动画,该动画花1000ms淡入,然后1000ms淡出。
到目前为止,这是我的ImageView构造函数中的内容:
Animation fadeIn = new AlphaAnimation(0, 1);
fadeIn.setDuration(1000);
Animation fadeOut = new AlphaAnimation(1, 0);
fadeOut.setStartOffset(1000);
fadeOut.setDuration(1000);
AnimationSet animation = new AnimationSet(true);
animation.addAnimation(fadeIn);
animation.addAnimation(fadeOut);
this.setAnimation(animation);
当我运行该动画时,没有任何显示。但是,当我删除其中一个alpha动画时,该行为将按预期方式工作。
我已经尝试过的事情:
- 的所有可能的组合
setFillBefore
,setFillAfter
和setFillEnabled
。 - 添加
LinearInterpolator
到AnimationSet
。
1
是的,您可以淡入和淡出图像!本教程应该可以解决问题。sankarganesh-info-exchange.blogspot.com/2011/04/…–
—
亚当·斯托姆
该教程描述了一种使用XML的方法。您知道如何使用Java实现同一目标吗?
—
犁夫
好吧,我不在编程计算机旁,因此我无法测试此代码,但是可以在Java中设置xml属性。这是原始代码:android:interpolator =“ @ android:anim / accelerate_interpolator” android:fromAlpha =“ 0.0” android:toAlpha =“ 1.0” android:duration =“ 300” /> \ n因此您可以选择MyTween.setDurationg (300)MyTween.fromAlpha(0.0)MyTween(1.0)
—
亚当·斯托姆