Bildansicht nach Animation verschieben (Position aktualisieren)

Ich versuche, eine Übersetzungsanimation in einer Bildansicht von unten nach Mitte des Bildschirms zu erstellen. Nach Abschluss der Animation möchte ich, dass die Bildansicht dort bleibt. Ich möchte nicht setFillAfter (true), da die aktuelle Position der Bildansicht aktualisiert werden soll.

Ich mache es derzeit, indem ich 2 Bildansichten habe (eine am Anfang der Animation und eine am Ende) und ich spiele mit der setVisibility, um dies zu erreichen. Ist das der richtige Weg, um Dinge zu tun? Hier ist der Code, den ich verwendet habe:

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

Antworten auf die Frage(4)

Ihre Antwort auf die Frage