Я знаю, что можно заменить значок, установив пользовательский actionOverflowButtonStyle
, как описано here. Тем не менее, этот стиль позволяет устанавливать только один способ рисования и/или фона.Как отключить значок переполнения панели приложений AppCompat r22.1?
Вместо этого, я хотел бы использовать стандартных значок предоставляемых AppCompat, просто колеровку его с определенным цветом, так же, как задняя кнопка значка ящика/может быть окрашена с помощью атрибута color
в drawerArrowStyle
.
Я пробовал эти методы, которые, по сообщениям, используемые для работы:
- Установка
colorControlNormal
- Toolbar icon tinting on Android - Установка
textColorPrimary
в теме - MenuItem tinting on AppCompat Toolbar - Установка пользовательских
actionBarStyle
и измененияcolorControlNormal
там.
Но, насколько я могу видеть, ни один из них не работают с последним AppCompat - значок переполнения сохраняет свой первоначальный цвет (в то время как другие виджеты, такие как TextViews или текст в пунктах меню сделать изменений).
Должно ли это быть сделано иначе? Я не использую пользовательский вид Toolbar
, только по умолчанию, соответствующий AppCompat, ActionBar-подобный.
Как воспроизвести:
- Создание проекта Android Студия по умолчанию, с минимальной версии SDK = 9.
- Это автоматически включает в себя пустую деятельность и ресурс меню с помощью пункта меню одного, «Настройки», с
app:showAsAction="never"
, что означает, что он будет отображаться в меню переполнения. Наконец, настройте файл
styles.xml
. Например:<resources> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <item name="colorPrimary">#008888</item> <item name="colorControlNormal">#ff0000</item> <item name="android:textColorPrimary">#ff0000</item> </style> </resources>
Вы заметите, что ни свойство влияет на цвет переполнения значок меню. Протестировано в Nexus 5 с Android 5.1.1.
[mcve] (http://stackoverflow.com/help/mcve) please – tachyonflux
@karaokyo Выполнено, хотя его очень легко воспроизвести - по умолчанию новый проект студии Android достаточно. – matiash
О, хорошо, так что DarkActionBar заставляет белый оверлей. Не использовать «DarkActionBar»? – tachyonflux