我正試圖在圖像視圖上從底部到屏幕中間執行翻譯動畫。完成動畫後,我希望圖像視圖留在那裏。我不想要setFillAfter(true),因爲我想要更新imageview的實際位置。在動畫之後移動圖像查看(更新位置)
我現在通過2個圖像視圖(一個在動畫開始處,一個在結束處)進行,我使用setVisibility來實現此目的。這是做事的正確方法嗎?下面是我使用的代碼:
<ImageView
android:id="@+id/ivStart"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:background="@drawable/typer_step_1"
android:gravity="center"
/>
<ImageView
android:id="@+id/ivMiddle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:background="@drawable/typer_step_1"
android:gravity="center"
android:visibility="invisible"
/>
TranslateAnimation translate = new TranslateAnimation(0, mDestLoc1[0]-mSrcLoc1[0], 0, mDestLoc1[1]-mSrcLoc1[1]);
translate.setDuration(2000);
translate.setAnimationListener(new AnimationListener(){
@Override
public void onAnimationStart(Animation animation) {}
@Override
public void onAnimationEnd(Animation animation) {
ivMiddle.setVisibility(View.VISIBLE)
ivStart.setVisibility(View.INVISIBLE)
}
@Override
public void onAnimationRepeat(Animation animation) {}
});
ivStart.startAnimation(translate);
可能的重複[Android翻譯動畫 - 永久移動使用AnimationListener查看新位置](http://stackoverflow.com/questions/19016674/android-translate-animation-permanently-move-view-to-new-position -using-animat) – JiTHiN
,您應該在動畫之前將您正在動畫的ImageView放置在您想要的位置。在開始播放動畫時,請將其翻譯爲看起來來自您希望它來自的位置。 – josephus
@JosephusVillarey嗯,好建議! – Snake