我目前正在开发一个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);
感谢您提供的任何帮助
答案 0 :(得分:1)
您正在立即撤消转换,因此正在取消初始转换。
transitionDrawable.startTransition(2000);
linearLayoutPlatform.postDelayed(new Runnable() {
@Override
public void run() {
transitionDrawable.reverseTransition(2000);
}
}, 2000);