Android中的动画按钮

时间:2014-03-09 11:25:51

标签: android animation translate-animation

我是Android新动画的新手,所以请不要标记我否定。我正在尝试使用翻译动画为按钮的位置设置动画。

我想做什么:

当用户单击按钮时,该按钮应首先向显示屏的最右侧移动,使其不再可见。然后应该从显示屏左侧返回原来的位置。

What I want

实际发生的事情(问题):

当用户点击按钮时,按钮首先来自显示屏左侧,然后向显示屏右侧加速。

animation.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:fillAfter="true" >

    <translate
        android:duration="200"
        android:fromXDelta="0%p"
        android:fillAfter="true"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toXDelta="100%p" />
    <translate
        android:fromXDelta="-100%p"
        android:duration="200"
        android:fillAfter="true"
        android:interpolator="@android:anim/decelerate_interpolator"
        android:startOffset="200"
        android:toXDelta="0%p" />

</set>

1 个答案:

答案 0 :(得分:1)

老兄试试这段代码它认为它会解决你的问题:

<translate
    android:duration="200"
    android:fromXDelta="0%p"
    android:fillAfter="true"
    android:interpolator="@android:anim/accelerate_interpolator"
    android:toXDelta="100%p" />
<translate

    android:fromXDelta="100%p"
    android:duration="1"
    android:fillAfter="true"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:startOffset="200"
    android:toXDelta="-100%p" />
<translate

    android:fromXDelta="-100%p"
    android:duration="200"
    android:fillAfter="true"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:startOffset="210"
    android:toXDelta="0%p" />

请记住,第一次翻译会将您的按钮向右移动,这意味着当前按钮位置位于动画集的基础上(100%p),因此您需要找到一种方法将其快速设置为你希望它下一步开始的位置,因此我在中间添加了翻译。

希望它会有所帮助