进入上下文操作模式时更改状态栏的颜色

我有一个应用程序使用主题属性(colorPrimaryDark)为Android v21 +上的状态栏着色:

在这里输入图像说明

这工作正常。 现在,当用户长按列表项并进入上下文动作模式时,我可以使用属性actionModeBackground对CAB栏进行着色,如下所示:

在这里输入图像说明

所以操作栏是灰色的,这是我想要的,但是状态栏仍然使用主题深色来着色 。 我不想要那个,我想把它改成深灰色或黑色。

我怎样才能做到这一点? 我没有看到任何在这里工作的主题属性。

  • 如何在Honeycomb上以编程方式closuresActionMode菜单?
  • 进入上下文操作模式时更改状态栏颜色
  • 如何调用ActionBar的类似ContextMenu的行为?
  • Android的新工具栏和上下文操作栏如何协同工作?
  • 如何正确处理动作模式“完成”按钮?
  • 覆盖Android中文本选择(在WebView中)的默认上下文操作栏
  • 你怎么能在ActionBarSherlock中实现多选和Contextual ActionMode?
  • 如何调用ActionBar的类似ContextMenu的行为?
  •   private int statusBarColor; @Override public boolean onCreateActionMode(ActionMode mode, Menu menu) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //hold current color of status bar statusBarColor = getWindow().getStatusBarColor(); //set your gray color getWindow().setStatusBarColor(0xFF555555); } ... } ... @Override public void onDestroyActionMode(ActionMode mode) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { //return to "old" color of status bar getWindow().setStatusBarColor(statusBarColor); } ... } });