简体   繁体   English

Android 翻译动画无法正常工作

[英]Android Translate Animation not working properly

I created the following animation file full_translate.xml我创建了以下动画文件 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关键是 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" />

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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