我试过这个:
int firstColor = 0xFFFF0000; // red
int secondColor = 0x00FFFFFF; // transparent
Drawable[] drawables = new Drawable[] { new ColorDrawable(firstColor), new ColorDrawable(secondColor) };
TransitionDrawable d = new TransitionDrawable(drawables);
getSupportActionBar().setBackgroundDrawable(d);
d.startTransition(300);
什么都不会改变。
我添加了Window.FEATURE_ACTION_BAR_OVERLAY
但是,如果我使用它:
getSupportActionBar().setBackgroundDrawable( new ColorDrawable(secondColor) );
它起作用,动作栏是半透明的,但我想通过过渡来做到这一点。
我可以这样做吗?
答案 0 :(得分:1)
您可以使用CrossFade处理透明的Drawable
和颜色。
TransitionDrawable d = new TransitionDrawable(drawables);
d.setCrossFadeEnabled(true); // Add this code just after creating TransitionDrawable
getSupportActionBar().setBackgroundDrawable(d);
d.startTransition(300);