translateAnimation
和 rotateAnimation
可以在 Android 的動畫系統中結合使用,以創建更復雜的動畫效果。以下是如何將它們結合使用的基本步驟:
創建動畫資源文件:
res/anim
目錄下創建新的 XML 文件,例如 combined_animation.xml
。<set>
、<alpha>
、<scale>
、<translate>
或 <rotate>
標簽來指定。組合動畫:
<set>
標簽內,你可以包含多個動畫,這些動畫將按照你設置的順序執行。<set>
中先旋轉一個對象,然后平移它,最后再旋轉它回到原來的位置。應用動畫到視圖:
View
類的 startAnimation()
方法來應用這個組合動畫。下面是一個簡單的示例,展示了如何在 XML 文件中結合使用 translateAnimation
和 rotateAnimation
:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false">
<!-- 第一個動畫:旋轉 -->
<rotate
android:fromDegrees="0"
android:toDegrees="90"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000" />
<!-- 第二個動畫:平移 -->
<translate
android:fromXDelta="0"
android:toXDelta="100"
android:fromYDelta="0"
android:toYDelta="0"
android:duration="2000" />
<!-- 第三個動畫(可選):再次旋轉 -->
<rotate
android:fromDegrees="90"
android:toDegrees="0"
android:pivotX="50%"
android:pivotY="50%"
android:duration="2000" />
</set>
在這個示例中,一個對象首先會旋轉 90 度,然后向右平移 100 個單位,最后再旋轉回到原來的位置。每個動畫的持續時間都是 2000 毫秒(即 2 秒)。
要在代碼中應用這個動畫,你可以這樣做:
// 獲取要應用動畫的視圖
View myView = findViewById(R.id.my_view);
// 加載動畫資源
Animation animation = AnimationUtils.loadAnimation(this, R.anim.combined_animation);
// 開始動畫
myView.startAnimation(animation);