1

我试图实现一个动画,使线性布局的背景在两种颜色之间摆动。

我用这段代码来测试一个转换,它有效:

ColorDrawable[] color = {new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)};
TransitionDrawable trans = new TransitionDrawable(color);
holder.mItem_RowHolder.setBackground(trans);
trans.startTransition(3000);

holder.mItem_Rowholder 包含我正在谈论的线性布局的“getElementById”结果。

由于转换只允许转换,而不是循环,我读到我需要使用 AnimationDrawable 函数,来自同一个库(android.graphics.drawable.AnimationDrawable)

我测试了以下代码:

ColorDrawable[] color = {new ColorDrawable(Color.BLUE), new ColorDrawable(Color.RED)};
AnimationDrawable trans = new AnimationDrawable(color);
holder.mItem_RowHolder.setBackground(trans);

AnimationDrawable trans = new AnimationDrawable(color);但我在声明的那一行出现错误AnimationDrawable cannot be applied to android.graphics.drawable.ColorDrawable[]

知道为什么吗?理论上,“TransitionDrawable”和“AnimationDrawable”的构造函数都需要一个“android.graphics.drawable”...

谢谢!

4

0 回答 0