颜色过渡和返回原始颜色无法正常工作

时间:2014-10-20 22:46:08

标签: android animation

我目前正在开发一个Android应用程序,我正在尝试使用彩色动画。

基本上我有一个包含各种组件的LinearLayout,当某个事件发生时,我希望LinearLayout背景颜色快速闪烁红色。

我有一个动画设置,我试图为颜色设置动画,使其淡入红色,然后再次淡出。但是,出于某种原因,当颜色首次出现时似乎没有任何动画,只有当它再次淡出时才会出现。

以下是我的可绘制

<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <!-- The drawables used here can be solid colors, gradients, shapes, images, etc. -->
    <item android:drawable="@color/transparentColour" />
    <item android:drawable="@color/errorColour" />
</transition>

以下是我进行转换的方式

TransitionDrawable transitionDrawable = (TransitionDrawable)linearLayoutPlatform.getBackground();
                transitionDrawable.startTransition(2000);
                transitionDrawable.reverseTransition(2000);

感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:1)

您正在立即撤消转换,因此正在取消初始转换。

transitionDrawable.startTransition(2000);
linearLayoutPlatform.postDelayed(new Runnable() {
    @Override
    public void run() {
        transitionDrawable.reverseTransition(2000);
    }
}, 2000);