3

我正在尝试使用 TransitionDrawable 在操作栏上做一些彩色动画。

我正在尝试的代码非常简单,在 onCreate 期间,我将可绘制的过渡作为操作栏背景:

Drawable d = getResources().getDrawable(R.drawable.actionbar);
actionbarDrawable = new TransitionDrawable(new Drawable[] { d, d });
getActionBar().setBackgroundDrawable(actionbarDrawable);

然后在事件中,我替换了 TransitionDrawable 的第二个可绘制对象并要求对其进行动画处理。

    actionbarDrawable.setDrawableByLayerId(1, d);
    actionbarDrawable.startTransition(666);

我已经在我的活动的 RelativeLayout 上尝试了相同的代码,它似乎工作正常,任何想法为什么 ActionBar 不想合作以及如何使其工作?

谢谢。

4

1 回答 1

5

试试看:

在值/字符串中:

<color name="blue">#FF4682B4</color>
<color name="red">#FFC30F0F</color>

在你的课堂上:

ColorDrawable blue = new ColorDrawable(getResources().getColor(R.color.blue));
ColorDrawable red = new ColorDrawable(getResources().getColor(R.color.red));
ColorDrawable[] color = {blue, red}; 
TransitionDrawable trans = new TransitionDrawable(color);
actionBar.setBackgroundDrawable(trans);
trans.startTransition(500);
于 2014-02-17T18:08:07.190 回答