要通過代碼動態改變 translateAnimation
參數,首先需要了解 translateAnimation
是在 Android 的 Animation
類中定義的。translateAnimation
用于創建平移動畫,它接受四個參數:起始位置、結束位置、X軸上的移動類型和Y軸上的移動類型。
要在代碼中動態改變這些參數,你可以創建一個 TranslateAnimation
對象,并設置其屬性,然后將其應用到需要動畫的元素上。以下是一個簡單的示例,展示了如何動態改變平移動畫的起始位置和結束位置:
// 創建一個 TranslateAnimation 對象
TranslateAnimation translateAnimation = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f, // 起始位置的X坐標,相對于自身
Animation.RELATIVE_TO_SELF, 100f, // 結束位置的X坐標,相對于自身
0, // 起始位置的Y坐標,相對于自身
0 // 結束位置的Y坐標,相對于自身
);
// 設置動畫的持續時間和重復次數
translateAnimation.setDuration(1000); // 動畫持續時間為1000毫秒(1秒)
translateAnimation.setRepeatCount(Animation.INFINITE); // 動畫無限重復
translateAnimation.setRepeatMode(Animation.RESTART); // 動畫重復模式為重新開始
// 獲取需要應用動畫的元素(例如一個ImageView)
ImageView imageView = findViewById(R.id.my_image_view);
// 將動畫應用到元素上
imageView.startAnimation(translateAnimation);
要動態改變動畫的其他參數(如X軸和Y軸上的移動類型),只需在創建 TranslateAnimation
對象時設置相應的屬性即可。例如,要將X軸上的移動類型更改為 Animation.TRANSLATE_X
,可以將代碼修改為:
TranslateAnimation translateAnimation = new TranslateAnimation(
0, // 起始位置的X坐標,相對于自身
100, // 結束位置的X坐標,相對于自身
0, // 起始位置的Y坐標,相對于自身
0 // 結束位置的Y坐標,相對于自身
);
同樣,要將Y軸上的移動類型更改為 Animation.TRANSLATE_Y
,可以將代碼修改為:
TranslateAnimation translateAnimation = new TranslateAnimation(
0, // 起始位置的X坐標,相對于自身
0, // 結束位置的X坐標,相對于自身
0, // 起始位置的Y坐標,相對于自身
100 // 結束位置的Y坐標,相對于自身
);