2016-03-29 23 views

Antwort

0

Ich denke, negative Werte für scaleX oder scaleY resultieren in der Spiegelung des Bildes. Wenn es Ihr Fall ist, könnten Sie die Skala von 1 bis -1 animieren. Ist das was du brauchst?

0

Ja, Sie haben Recht. Es kann so gemacht werden, aber ich habe einige Probleme, die positive und negative Werte abwechseln. Sieh dir das an:

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    android:shareInterpolator="false" > 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="0" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="0" 
     android:fromYScale="0" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="0.4" 
     android:toYScale="0.4" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="200" --> 
<!--   android:toAlpha="0" /> --> 
<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="400" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="-0.4" 
     android:fromYScale="0.4" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="400" 
     android:toXScale="-0.8" 
     android:toYScale="0.8" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="600" --> 
<!--   android:toAlpha="0" /> --> 
<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="800" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="800" 
     android:toXScale="1.2" 
     android:toYScale="1.2" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="1000" --> 
<!--   android:toAlpha="0" /> --> 
<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="0" --> 
<!--   android:startOffset="1200" --> 
<!--   android:toAlpha="1" /> --> 

    <scale 
     android:duration="400" 
     android:fromXScale="-1.2" 
     android:fromYScale="1.2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1200" 
     android:toXScale="-1.6" 
     android:toYScale="1.6" /> 

<!--  <alpha --> 
<!--   android:duration="200" --> 
<!--   android:fromAlpha="1" --> 
<!--   android:startOffset="2400" --> 
<!--   android:toAlpha="0" /> --> 

</set> 

Dies sollte ein Bild erzeugen, das manchmal wächst und umkippt ... aber es funktioniert nicht. Es zeigt nur ein Bild, das einige Male wächst ... aber ohne das Bild zu spiegeln!

Was mache ich falsch?

EDITED ----

Schließlich habe ich einen Weg gefunden, es funktioniert. Ich mache den Flip und die Größe in zwei Teile. Aber ich kann nicht mehr Größen hinzufügen, weil es nichts zeigen würde ... versuche, die kommentierten Blöcke auskommentieren und mir sagen, warum es so funktioniert ...

<?xml version="1.0" encoding="utf-8"?> 
<set xmlns:android="http://schemas.android.com/apk/res/android" 
    android:interpolator="@android:anim/accelerate_decelerate_interpolator" 
    android:shareInterpolator="false"> 

    <alpha 
     android:duration="200" 
     android:fromAlpha="0" 
     android:startOffset="0" 
     android:toAlpha="1" /> 

    <scale 
     android:duration="400" 
     android:fromXScale="0" 
     android:fromYScale="0" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:toXScale="0.4" 
     android:toYScale="0.4" /> 


    <scale 
     android:duration="1" 
     android:fromXScale="0.4" 
     android:fromYScale="0.4" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="400" 
     android:toXScale="-0.4" 
     android:toYScale="0.4" /> 
     <scale 
     android:duration="399" 
     android:fromXScale="-0.4" 
     android:fromYScale="0.4" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="401" 
     android:toXScale="-0.8" 
     android:toYScale="0.8" /> 


     <scale 
     android:duration="1" 
     android:fromXScale="-0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="800" 
     android:toXScale="0.8" 
     android:toYScale="0.8"/> 
       <scale 
     android:duration="399" 
     android:fromXScale="0.8" 
     android:fromYScale="0.8" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="801" 
     android:toXScale="1.2" 
     android:toYScale="1.2" /> 


<scale 
     android:duration="1" 
     android:fromXScale="1.2" 
     android:fromYScale="1.2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1200" 
     android:toXScale="-1.2" 
     android:toYScale="1.2"/> 
<scale 
     android:duration="399" 
     android:fromXScale="-1.2" 
     android:fromYScale="1.2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1201" 
     android:toXScale="-1.6" 
     android:toYScale="1.6" /> 


<scale 
     android:duration="1" 
     android:fromXScale="-1.6" 
     android:fromYScale="1.6" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1600" 
     android:toXScale="1.6" 
     android:toYScale="1.6"/> 
<scale 
     android:duration="399" 
     android:fromXScale="1.6" 
     android:fromYScale="1.6" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="1601" 
     android:toXScale="2" 
     android:toYScale="2" /> 


<scale 
     android:duration="1" 
     android:fromXScale="2" 
     android:fromYScale="2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="2000" 
     android:toXScale="-2" 
     android:toYScale="2"/> 
<scale 
     android:duration="399" 
     android:fromXScale="-2" 
     android:fromYScale="2" 
     android:pivotX="50%" 
     android:pivotY="50%" 
     android:startOffset="2001" 
     android:toXScale="-2.4" 
     android:toYScale="2.4" /> 


<!-- <scale --> 
<!--   android:duration="1" --> 
<!--   android:fromXScale="-2.4" --> 
<!--   android:fromYScale="2.4" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2400" --> 
<!--   android:toXScale="2.4" --> 
<!--   android:toYScale="2.4" /> --> 
<!-- <scale --> 
<!--   android:duration="399" --> 
<!--   android:fromXScale="2.4" --> 
<!--   android:fromYScale="2.4" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2401" --> 
<!--   android:toXScale="2.8" --> 
<!--   android:toYScale="2.8" /> --> 


<!-- <scale --> 
<!--   android:duration="1" --> 
<!--   android:fromXScale="2.8" --> 
<!--   android:fromYScale="2.8" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2800" --> 
<!--   android:toXScale="-2.8" --> 
<!--   android:toYScale="2.8" /> --> 
<!-- <scale --> 
<!--   android:duration="399" --> 
<!--   android:fromXScale="-2.8" --> 
<!--   android:fromYScale="2.8" --> 
<!--   android:pivotX="50%" --> 
<!--   android:pivotY="50%" --> 
<!--   android:startOffset="2801" --> 
<!--   android:toXScale="-3.2" --> 
<!--   android:toYScale="3.2" /> --> 


    <alpha 
     android:duration="200" 
     android:fromAlpha="1" 
     android:startOffset="2400" 
     android:toAlpha="0" /> 

</set>