带有弹跳插补器的Android Scale Animation

Gau*_*sth 37 android android-animation

我正在做一个缩放动画,anim xml如下所示.动画插值器不起作用.我试图弹跳插值器但是没有工作.

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

    <scale
        android:duration="900"
        android:fromXScale="1"
        android:fromYScale="0.5"
        android:interpolator="@android:anim/bounce_interpolator"
        android:pivotX="50%"
        android:pivotY="0%"
        android:toXScale="1.0"
        android:toYScale="1.0" />
     </set>
Run Code Online (Sandbox Code Playgroud)

编辑:其实我的整个xml是

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

<scale
    android:duration="600"
    android:fromXScale="1"
    android:fromYScale="0.5"
    android:interpolator="@android:anim/bounce_interpolator"
    android:pivotX="50%"
    android:pivotY="0%"
    android:toXScale="1.0"
    android:toYScale="1.0" />

<alpha
    android:duration="@android:integer/config_longAnimTime"
    android:fromAlpha="0.0"
    android:interpolator="@android:anim/decelerate_interpolator"
    android:toAlpha="1.0" />

</set>
Run Code Online (Sandbox Code Playgroud)

Gau*_*sth 98

终于得到了解决方案.它对我有用,可能对其他人有所帮助.关键是将android:interpolator标签放在动画集中.

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

<scale
    android:duration="600"
    android:fromXScale="1"
    android:fromYScale="0.5"
    android:pivotX="50%"
    android:pivotY="0%"
    android:toXScale="1.0"
    android:toYScale="1.0" />

<alpha
    android:duration="600"
    android:fromAlpha="0.0"
    android:toAlpha="1.0" />

</set>
Run Code Online (Sandbox Code Playgroud)


Luk*_*iko 21

如果要在动画集中为动画设置不同的插值器,请将shareInterpolator属性设置为false,如下所示:

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:shareInterpolator="false">
Run Code Online (Sandbox Code Playgroud)

然后在每个动画元素中设置插值器.显然,shareInterpolator默认情况下设置为true.