样式ActionMode ActionBar在Android 5.0棒棒糖(与AppCompat)

我使用这个教程整容我的Holo应用程序的棒棒糖: http : //android-developers.blogspot.ru/2014/10/appcompat-v21-material-design-for-pre.html

我拥有的:

  1. 主题

    <style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar"> <item name="windowActionModeOverlay">true</item> <item name="colorPrimary">@color/theme_primary</item> <item name="colorPrimaryDark">@color/theme_primary_dark</item> <item name="colorAccent">@color/theme_accent</item> </style> 
  2. 工具栏布局

     <android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/toolbar" android:layout_height="wrap_content" android:layout_width="match_parent" android:minHeight="?attr/actionBarSize" android:background="?attr/colorPrimary" app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" /> 
  3. 在多选模式下从具有ListFragment片段的ActionBarActivityinheritance的活动

    getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);

结果 :工具栏是确定的。 它使用sepcified主题颜色,但ActionMode中的ListFragment使用的ActionBar(通过点击并按住列表项目激活)具有标准的Dark.ActionBar颜色。 此外,操作栏的popup菜单使用黑暗的主题。

我尝试了所有的技巧,但仍然无法解决这个问题。 我将不胜感激任何帮助。

BTW。 我发现ActionBar的暗色是由工具栏的app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" ,但是不知道如何解决这个问题,因为这个属性是正确的工具栏外观所需要的。

工具栏与正确的颜色黑暗的行动条

只需将这两行添加到主题:

 <item name="actionModeBackground">@color/theme_primary_dark</item> <item name="actionBarPopupTheme">@style/ThemeOverlay.AppCompat.Light</item> 

除了@Andrey Shcherbakov的回答,如果你想对每一个单独的颜色有更多的控制,这也可能是有帮助的。

 <!-- action bar title text color, icon color (ie: back icon, icons when editing text)--> <item name="android:textColorPrimary">#FFFF00</item> <!-- action bar background color--> <item name="android:colorBackground">#444400</item> <!-- color of line under contextual action bar--> <item name="colorControlActivated">#00CC00</item>