Переместить изображение после анимации (обновить позицию)
Я пытаюсь сделать анимацию перевода при просмотре изображения снизу до середины экрана. После завершения анимации я хочу, чтобы изображение оставалось там. Я не хочу setFillAfter (true), потому что я хочу, чтобы актуальная позиция просмотра изображения была обновлена.
Я делаю это в настоящее время, имея 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);