简体   繁体   中英

Android Translate Animation not working properly

I created the following animation file full_translate.xml

<translate
    android:duration="1000"
    android:fillAfter="false"
    android:fromXDelta="0%p"
    android:toYDelta="-40%p" />

<translate
    android:duration="2000"
    android:fillAfter="false"
    android:fromXDelta="0%p"
    android:toXDelta="40%p" />

<translate
    android:duration="3000"
    android:fillAfter="false"
    android:fromXDelta="-0%p"
    android:toYDelta="40%p" />

<translate
    android:duration="4000"
    android:fillAfter="false"
    android:fromXDelta="0%p"
    android:toXDelta="-40%p" />

I want to move button from center to top then center to right, center to bottom and center to left. But the animation goes in totally wrong way. How can I play it in the correct order?

Finally got the solution. It works for me and could be helpful to others. The key was startOffSet :P

<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:toYDelta="-42%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="1200"
    android:toYDelta="42%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="2000"
    android:toXDelta="20%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="2800"
    android:toXDelta="-20%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="3600"
    android:toYDelta="42%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="4400"
    android:toYDelta="-42%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="5200"
    android:toXDelta="-20%p" />
<translate
    android:duration="800"
    android:fillAfter="true"
    android:fromXDelta="0"
    android:startOffset="6000"
    android:toXDelta="20%p" />

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM