2017-07-26 8 views
1

Ich habe eine Imageview in einer RelativeLayout. Es sollte von der Mitte des Bildschirms (Eltern) beginnen und dann zu einem bestimmten Punkt gehen. Aktuell arbeite ich mit xml. Irgendwelche Lösungen?Übersetzen Animation in Android - Startet in der Mitte des Bildschirms

Meine Animation, XML-

<set xmlns:android="http://schemas.android.com/apk/res/android"> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fillAfter="false"> 

    <translate 
     android:fromYDelta="0%p" 
     android:fromXDelta="0%p" 
     android:toYDelta="0%" 
     android:toXDelta="0%" 
     android:duration="1000" 
     android:pivotX="0%p" 
     android:pivotY="0%p"/> 

    <scale xmlns:android="http://schemas.android.com/apk/res/android" 
     android:fromXScale="432px" 
     android:toXScale="100%" 
     android:fromYScale="450px" 
     android:toYScale="100%" 
     android:duration="1000" 
     android:pivotX="0%p" 
     android:pivotY="0%p" /> 
</set> 

Ich habe es versucht, in fromYDelta und fromXDelta mit 100%p, 50%p, 0%p, 100, 50, 0, 100%, 50% and 0%. Nichts funktioniert! Jetzt bin ich verwirrt! Vielen Dank für Ihre Zeit und helfen

Edit:

A picture to explain what the Animation should do

+0

hast du dieses versucht https://stackoverflow.com/questions/10276251/how-to-animate-a-view-with-translate-animation-in-android?answertab=votes#tab-top? –

+0

Es ist ein Element aus dem Banner, das oben (32dp marginTop) und Mitte ist. aber das Bild muss im Banner gelassen werden –

+0

Ja, ich habe es versucht, aber dann muss ich einen Weg finden, es wieder in das Banner –

Antwort

0

dieser Ordner in anim hinzufügen:

<translate xmlns:android="http://schemas.android.com/apk/res/android" 
    android:fromXDelta="50%p" android:fromYDelta="50%p" 
    android:toXDelta="50%p" android:toYDelta="0%p" 
    android:duration="1000" 
    android:fillAfter="true" /> 

dies wie in Code implementieren:

translateAnim= AnimationUtils.loadAnimation(getApplicationContext(), 
      R.anim.translate_anim); 
imageView.startAnimation(translateAnim); 

Dieser Wille Bild von Mitte nach oben verschieben.

+0

zu setzen Kann ich das ändern android: toXDelta = "50% p" android: toYDelta = " 0% p " in android: toXDelta =" 100% "android: toYDelta =" 100% " –

+0

Das hängt ganz von Ihnen ab, wie Sie Objekt über Bildschirm übersetzen möchten. –

+0

Versuchte es, aber das Bild beginnt nicht in der Mitte, es ist ein wenig mehr rechts und unten als Mitte. es sieht so aus, als ob es die linke obere Ecke für das Zentrum –

Verwandte Themen