使用导航抽屉时动态更改操作栏颜色

时间:2015-02-13 22:43:07

标签: android navigation-drawer android-actionbar-compat

我正在开展一个项目,我需要根据内容多次在一个活动中更改操作栏颜色。这是使用

完成的
bar.setBackgroundDrawable(colorDrawable);

使用此行,一旦导航抽屉打开,操作栏的一部分就会变为透明/灰色(基本主题为@ style / Theme.AppCompat.Light.DarkActionBar)。

没有它,即使打开导航抽屉,背景也会保持稳定。但是,这不允许使用不同颜色的页面。

我正在使用appcompat 7中的支持操作栏,但它可以使用工具栏以及多个Android版本进行复制。

任何想法为什么会发生这种情况?我刚搞砸了,或者这实际上是一个错误吗?

除了为操作栏设置固定颜色外,还有其他解决方法吗?

Bug

请注意打开导航栏后,操作栏右侧区域变为灰色/透明

1 个答案:

答案 0 :(得分:0)

我解决了。的种类... 如果您可以改进,请发布其他解决方案,因为它不是最干净的解决方案。

更改上述

bar.setBackgroundDrawable(colorDrawable);

bar.setBackgroundDrawable(new ColorDrawable(((ColorDrawable) colorDrawable).getColor()));

为我解决了这个问题。这真的不应该这样做。