Mover vista de imagen después de la animación (posición de actualización)

Estoy tratando de hacer una animación de traducción en una vista de imagen desde la parte inferior a la mitad de la pantalla. Al finalizar la animación, quiero que la vista de la imagen permanezca allí. No quiero el setFillAfter (verdadero) porque quiero que se actualice la posición real de la vista de imagen.

Lo hago actualmente teniendo 2 vistas de imagen (una al comienzo de la animación y otra al final) y juego con setVisibility para lograr esto. ¿Es esta la forma correcta de hacer las cosas? Aquí está el código que usé:

<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);

Respuestas a la pregunta(4)

Su respuesta a la pregunta