仅对按钮的颜色进行动画处理

时间:2019-09-06 09:30:42

标签: java android animation

我正在制作动画按钮,从而产生眨眼效果。工作正常。这是我的代码。

    animation = new AlphaAnimation(0.0f, 1.0f);
    animation.setDuration(800);
    animation.setStartOffset(30);
    animation.setRepeatMode(Animation.REVERSE);
    animation.setRepeatCount(Animation.INFINITE);

但这会使按钮完全消失并重新开始。我希望仅对按钮的颜色进行动画处理。设置动画时,按钮应该显示为背景色,并且只有颜色会改变?有什么想法可以继续吗?

1 个答案:

答案 0 :(得分:1)

尝试一下

在drawable中,abc.xml

<?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
    android:drawable="@drawable/color_red"
    android:duration="500" />
<item
    android:drawable="@drawable/color_green"
    android:duration="500" />

在color.xml中

<drawable name="color_green">#008000</drawable>
    <drawable name="color_red">#FF0000</drawable>

在main.xml中

<Button
android:background="@drawable/abc"/>

在Java中,

 AnimationDrawable animationDrawable = (AnimationDrawable) buttonView.getBackground();
        animationDrawable.setEnterFadeDuration(500);
        animationDrawable.setExitFadeDuration(500);
        animationDrawable.start();