Is it possible to use TransitionDrawable on the Ac

2019-05-17 10:47发布

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条回答
一纸荒年 Trace。
2楼-- · 2019-05-17 11:13

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);
查看更多
登录 后发表回答