Я использовал этот учебник для облегчения моего приложения Holo для Lollipop: http://android-developers.blogspot.ru/2014/10/appcompat-v21-material-design-for-pre.html
Что у меня:
-
Тема
<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>
-
Макет панели инструментов
<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" />
-
Активность, унаследованная от ActionBarActivity с фрагментом ListFragment в режиме множественного выбора
getListView().setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);
Результат: панель инструментов в порядке. Он использует выделенные цвета темы, но ActionBar, используемый ListFragment в ActionMode (активированный нажатием и удержанием элемента списка), имеет стандартные цвета Dark.ActionBar. Также всплывающее меню панели действий использует темную тему.
Я пробовал все трюки SO, но до сих пор не могу это решить. Я буду признателен за любую помощь.
BTW. Я обнаружил, что темные цвета ActionBar вызваны панелью инструментов app:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
, но понятия не имею, как решить эту проблему, потому что этот атрибут необходим для правильного внешнего вида панели инструментов.