我试图实现一个动画,使线性布局的背景在两种颜色之间摆动。
我用这段代码来测试一个转换,它有效:
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”...
谢谢!