我正在使用alpha动画淡出imageview。我希望图片在动画后保持透明。用fillAfter和fillEnabled的不同组合尝试,没有运气。这怎么能实现?Android alpha动画:动画完成时保留在上一个动画帧中
POM
我正在使用alpha动画淡出imageview。我希望图片在动画后保持透明。用fillAfter和fillEnabled的不同组合尝试,没有运气。这怎么能实现?Android alpha动画:动画完成时保留在上一个动画帧中
POM
通过setAnimationListener()
添加Animation.AnimationListener
到Animation
。在收听者的onAnimationEnd()
中,拨打setVisibility(View.INVISIBLE)
,ImageView
。
将fillEnabled和fillAfter设置为true总是适用于我。
anim = new AlphaAnimation(0.3f, 1.0f);
anim.setDuration(500);
anim.setFillEnabled(true);
anim.setFillAfter(true);
<view>.startAnimation(anim);
我其次。也可以单独使用XML来实现。 – 2013-02-22 07:34:58
不错!谢了,兄弟。 :) – 2015-08-06 06:16:24
不是最好的解决方案。请看chris的答案。 – 2013-02-22 07:37:08
@ClassStacker:欢迎您的意见。 ''setFillAfter()'很少是正确的答案,因为它不会像预期的那样工作(例如,'TranslateAnimation'上的'setFillAfter()'导致触摸事件只能在* old *位置工作)。对于完全静态UI上的alpha动画,它可能是可生存的,但如果在该UI中有任何更改,我会毫不惊讶地看到alpha返回到其原始值。在Android 3.0+上,当然,您可以设置小部件的alpha属性。 – CommonsWare 2013-02-22 12:47:29
我明白了;我不知道'TranslateAnimation'问题。很高兴知道!伟大的你为你的解决方案提供了这个动机。 – 2013-02-22 13:03:02