如何在Android中按顺序(逐个)运行两个或更多动画?

时间:2018-05-04 20:17:34

标签: android android-animation

我想首先从 1 运行 alpha动画 0 ,然后 我要运行 alpha动画 0 1 ,但 无法正常工作 ! 这是我的代码:

TextView iv_1 = findViewById(R.id.tv_1);
AnimationSet animSet = (AnimationSet) AnimationUtils.loadAnimation(this, R.anim.alpha_set);
iv_1.setAnimation(animSet);

alpha_set.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:fillAfter="true"
>

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

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

</set>

但是当我想先运行 alpha动画,然后运行缩放动画后, 效果正常 !以下是我的代码:

TextView iv_1 = findViewById(R.id.tv_1);
AnimationSet animSet = (AnimationSet) AnimationUtils.loadAnimation(this, R.anim.alpha_and_scale);
iv_1.setAnimation(animSet);

alpha_and_scale.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
     android:fillAfter="true">

    <alpha android:duration="2000"
           android:fromAlpha="0"
           android:toAlpha="1"
    />
    <scale android:startOffset="2000"
           android:pivotX="50%"
           android:pivotY="50%"
           android:fromXScale="0.8"
           android:toXScale="1"
           android:fromYScale="1"
           android:toYScale="1"
           android:duration="2000"/>

</set>

为什么?

1 个答案:

答案 0 :(得分:0)

我尝试了以下内容,它对我有用。

<set xmlns:android="http://schemas.android.com/apk/res/android">
  <alpha
    android:duration="2000"
    android:fromAlpha="1"
    android:toAlpha="0"
    android:repeatMode="reverse"
    android:repeatCount="1"/>
</set>

我跟着this.希望这可以帮助你。