Я не уверен, что это ошибка, или почему-то я не использую новый класс панели инструментов.
Я могу успешно разделить ActionBar с помощью одной из доступных тем. Это также позволяет мне описывать ActionMode. Все работает отлично, как ожидалось. Вот как я это делаю.
<style name="Theme.ActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="actionModeBackground">@drawable/action_mode_background</item>
</style>
Теперь я ищу немного большую гибкость, поэтому я пытаюсь использовать новую панель инструментов из библиотеки поддержки. Совершенствование панели инструментов реализовано и работает нормально, однако теперь режим действия больше не работает, как ожидалось. Пользовательский фон не работает и панель режима действия нажимает панель инструментов вниз.
Чтобы устранить проблему с нажатием, я использовал флаг windowActionModeOverlay
. Для меня тот факт, что режим действия не становится частью панели инструментов, засасывает...:/
<style name="Theme.ActionBar" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="windowActionBar">false</item>
<item name="windowActionModeOverlay">true</item>
<item name="actionModeBackground">@drawable/action_mode_background</item>
</style>
В моей деятельности я делаю следующее, чтобы сделать панель инструментов по умолчанию ActionBar.
Toolbar toolbar = (Toolbar) findViewById(R.id.toolBar);
setSupportActionBar(toolbar);
Прямо сейчас я пробовал так много всего. Я даже попытался погрузиться в источник, чтобы выяснить, что происходит.
Любые идеи, почему это происходит? Как я могу создать ActionMode? Или более конкретно, как я могу изменить фон ActionMode?
Обновление 1
Я заметил, что при добавлении <item name="windowActionBar">false</item>
к моей теме активности режим действия теряет свою тему или имеет значение true. Очевидно, что это значение равно true, оно будет включать панель действий окна.
Обновление 2
Я смог правильно настроить режим действия, используя пару модов.
-
Фон режима действия. Оказывается, вы просто устанавливаете фон непосредственно на тему ActionMode в качестве андроида: фон! Кроме того, текст, который вам нужно указать на тему.
<item name="actionModeStyle">@style/Widget.ActionMode</item>
<style name="Widget.ActionMode" parent="@style/Widget.AppCompat.ActionMode"> <item name="android:background">@drawable/action_mode_background</item> <item name="titleTextStyle">@style/TitleTextStyle</item> </style>
-
Обратная стрелка не получает стиля. Я перезаписал использованную для рисования и просто добавил свой собственный в белый цвет.
<item name="actionModeCloseDrawable">@drawable/ic_arrow_back_white_24dp</item>