慕碼人8056858
2022-12-21 10:09:30
我的 android 動(dòng)畫有問題。當(dāng)我第一次單擊我的 ImageView 時(shí),我的圖像有旋轉(zhuǎn),但是當(dāng)我第二次單擊我的 ImageView 時(shí),旋轉(zhuǎn)不起作用。為什么會這樣?我在 Java 代碼中的旋轉(zhuǎn)方法:private boolean tomIsInvisible = false;public void eraseTom(View view) { ImageView tom = findViewById(R.id.tom); ImageView jerry = findViewById(R.id.jerry); if (tomIsInvisible) { tom.animate() .rotation(3600) .scaleX(1) .scaleY(1) .alpha(1) .setDuration(3000); jerry.animate() .rotation(3600) .scaleX(0) .scaleY(0) .alpha(0) .setDuration(3000); tomIsInvisible = false; } else if(!tomIsInvisible) { tom.animate() .rotation(3600) .scaleX(0) .scaleY(0) .alpha(0) .setDuration(3000); jerry.animate() .rotation(3600) .alpha(1) .scaleX(1) .scaleY(1) .setDuration(3000); tomIsInvisible = true; }}我的 ImageView 上的其他方法可以正常工作。
1 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個(gè)贊
當(dāng)你第一次打電話時(shí),它會從到rotation(3600)
動(dòng)畫。(默認(rèn)視圖旋轉(zhuǎn)為)。在第一個(gè)動(dòng)畫之后(在為事物設(shè)置動(dòng)畫時(shí)更改屬性的實(shí)際值)。因此,當(dāng)您第二次調(diào)用您的視圖時(shí),您嘗試將其動(dòng)畫化為. 這就是為什么沒有視覺變化的原因。有rotationBy方法將指定值應(yīng)用于視圖旋轉(zhuǎn),嘗試使用它。rotation
0
3600
0
rotation
3600
ViewPropertyAnimator
rotation(3600)
rotation
3600
3600
view.animate().rotationBy(3600)
另一種解決方案是從 0 到 360 設(shè)置動(dòng)畫,并在動(dòng)畫結(jié)束時(shí)將視圖旋轉(zhuǎn)重置為 0。
添加回答
舉報(bào)
0/150
提交
取消