我正在尝试使用TransitionDrawable在操作栏上执行一些颜色动画。
我正在尝试的代码非常简单,在onCreate期间,我将转换drawable作为操作栏背景:
Drawable d = getResources().getDrawable(R.drawable.actionbar);
actionbarDrawable = new TransitionDrawable(new Drawable[] { d, d });
getActionBar().setBackgroundDrawable(actionbarDrawable);
然后在事件上我替换了TransitionDrawable的第二个drawable并要求为它设置动画。
actionbarDrawable.setDrawableByLayerId(1, d);
actionbarDrawable.startTransition(666);
我在我的活动上的RelativeLayout上尝试了相同的代码,它似乎工作得很好,为什么ActionBar不想合作以及如何让它工作的任何想法?
感谢。
答案 0 :(得分:5)
试一试:
在values / string中:
<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);