Ich habe ein Array von Koordinaten erstellt. Die Mitte eines Bildes sollte sich durch diese Koordinaten bewegen. Ich habe TranslateAnimation verwendet, um es zu erreichen. Während der Animation bewegt sich das Bild jedoch innerhalb der letzten zwei Koordinaten. Unten ist mein Code:Bewegt Bild durch verschiedene x, y Koordinaten
private void CreateAnimationAndRun() {
// move to the different coordinates one by one
for(int k=0; k<xpoints.length; k++) {
if(k==0) {
x1 = xstart;
y1 = ystart;
} else {
x1 = xpoints[k-1];
y1 = ypoints[k-1];
}
x2 = xpoints[k];
y2 = ypoints[k];
TranslateAnimation translateAnimation = new TranslateAnimation(x1, x2, y1, y2);
translateAnimation.setDuration(1000);
translateAnimation.setAnimationListener(anim_listener);
imv1.startAnimation(translateAnimation);
}
}
Die obige Funktion hat auf einem Button-Klick aufgerufen wurde.