Mover visualização de imagem após a animação (atualizar posição)
Estou tentando fazer uma animação de tradução em uma exibição de imagem de baixo para o meio da tela. Após o término da animação, quero que a visualização da imagem fique lá. Eu não quero o setFillAfter (true) porque quero que a posição real da visualização de imagem seja atualizada.
Atualmente, faço isso tendo 2 visualizações de imagem (uma no início da animação e outra no final) e brinco com o setVisibility para conseguir isso. Essa é a maneira correta de fazer as coisas? Aqui está o código que eu usei:
<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);