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

Android 使用导航抽屉时动态更改操作栏颜色,android,navigation-drawer,android-actionbar-compat,Android,Navigation Drawer,Android Actionbar Compat,我正在做一个项目,我需要根据内容在单个活动中多次更改actionbar的颜色。这是通过使用 bar.setBackgroundDrawable(colorDrawable); 有了这一行,一旦导航抽屉打开,actionbar的一部分就会变成透明/灰色(基本主题是@style/theme.AppCompat.Light.darkaActionBar) 如果没有它,即使打开导航抽屉,背景也会像预期的那样保持稳定。但是,这不允许使用不同颜色的页面 我正在使用appcompat 7中的support

我正在做一个项目,我需要根据内容在单个活动中多次更改actionbar的颜色。这是通过使用

bar.setBackgroundDrawable(colorDrawable);
有了这一行,一旦导航抽屉打开,actionbar的一部分就会变成透明/灰色(基本主题是@style/theme.AppCompat.Light.darkaActionBar)

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

我正在使用appcompat 7中的support actionbar,但它可以通过工具栏以及多个android版本进行复制

你知道为什么会这样吗?是我把事情搞砸了还是这真的是一个bug

除了为actionbar设置固定颜色之外,还有其他解决方法吗

请注意,在打开导航抽屉后,操作栏的右侧区域变为灰色/透明。有点 如果您可以改进,请发布其他解决方案,因为它不是最干净的解决方案

更改上述

bar.setBackgroundDrawable(colorDrawable);

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

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