我正在使用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