问题
I'm trying to do some color animation on the action bar by using a TransitionDrawable.
The code I'm trying is pretty simple, during onCreate, I put the transition drawable as the actionbar background:
Drawable d = getResources().getDrawable(R.drawable.actionbar);
actionbarDrawable = new TransitionDrawable(new Drawable[] { d, d });
getActionBar().setBackgroundDrawable(actionbarDrawable);
then on the event I replace the second drawable of the TransitionDrawable and ask to animate it.
actionbarDrawable.setDrawableByLayerId(1, d);
actionbarDrawable.startTransition(666);
I've tried the same code on a RelativeLayout on my activity and it seems to work fine, any ideas why the ActionBar doesn't want to cooperate and how to make it work?
thanks.
回答1:
Try it:
In values/string:
<color name="blue">#FF4682B4</color>
<color name="red">#FFC30F0F</color>
In your class:
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);
来源:https://stackoverflow.com/questions/12912956/is-it-possible-to-use-transitiondrawable-on-the-actionbar