2016-07-27 17 views
1

Ich habe 4 Bildansicht Ich möchte Bild 1 an Position von Bild 2 mit verschieben und skalieren Animation verschieben. [How it looks likeBildanimation zusammen bewegen und skalieren

Was ich versucht habe, für

ObjectAnimator scaleX = ObjectAnimator.ofFloat(img1, "scaleX", (float) img2.getWidth()); 
    ObjectAnimator scaleY = ObjectAnimator.ofFloat(img1, "scaleY", (float) img2.getHeight()); 
    scaleX.setDuration(2000); 
    scaleY.setDuration(2000); 
    AnimatorSet scale = new AnimatorSet(); 
    scale.play(scaleX).with(scaleY); 
    scale.start(); 

Antwort

0

Skalierung Sie können eine Menge Code mit ViewPropertyAnimator speichern und können Sie mehrere Animationen in einer Zeile kombinieren:

img1.animate() 
    .scaleX(toX) 
    .scaleY(toY) 
    .translationX(toX) 
    .translationY(toY) 
    .setDuration(2000); 

Es gibt auch Verfahren :

.scaleXBy(byX) 
.translationYBy(byY) 

th in großem Umfang/translate die Methoden BY der angegebene Wert

Für die Übersetzung Sie im Auge behalten, dass:

img2.getX(); 
img2.getY(); 

gibt Ihnen nur die Koordinaten der oberen linken Ecke der Ansicht img2.

img1.animate() 
    .scaleX(...) 
    .scaleY(...) 
    .translationX(img2.getX()/2) 
    .translationY(img2.getY()/2) 
    .setDuration(2000); 

EDIT

: Ich fand diese Seite auf dem Entwickler Trainingsort

Sie wahrscheinlich zum Zentrum von img2 animieren möchten, die

img2.getX()/2; 
img2.getY()/2; 

Alle kombiniert so etwas wie dies sollte funktionieren würde, Sie können auschecken:

Zooming a view

+0

Vielen Dank für Sie r Lösung. Aber es funktioniert nicht. Ich habe nur die Dokumente überprüft - Maßstabs-Mittelwert "Legt den Betrag fest, um den die Ansicht in x um den Drehpunkt skaliert wird, als Anteil an der unskalierten Breite der Ansicht. Ein Wert von 1 bedeutet, dass keine Skalierung angewendet wird." – Anirban

+0

Nun, alles, was Sie brauchen, sind andere Werte für scaleX() und scaleY(), zum Beispiel skaliert scaleX (2) auf das Zweifache der ursprünglichen Größe. –

+0

Aber wie kann ich anderen Bildansicht Höhe und Breite Wert geben. – Anirban