Как изменить цвет значка переполнения на панели действий?
(Самый правильный значок)
Как изменить цвет значка переполнения на панели действий?
(Самый правильный значок)
Вы можете использовать что-то вроде этого
<style name="MyTheme" parent="android:style/Theme.Holo.Light">
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/my_action_bTutton_overflow</item>
</style>
в вашем AndroidManifest.xml
<application
android:theme="@style/MyTheme" >
Если вы хотите изменить цвет actionBar @style/MyActionBar
<!-- Support library compatibility -->
<item name="actionBarStyle">@style/MyActionBar</item>
</style>
<!-- ActionBar styles -->
<style name="MyActionBar" parent="@style/Widget.AppCompat.Light.ActionBar.Solid.Inverse">
<item name="android:background">@color/app_theme_color</item>
<!-- Support library compatibility -->
<item name="background">@color/app_theme_color</item>
<item name="android:alwaysDrawnWithCache">true</item>
<item name="android:displayOptions">showTitle|showHome|homeAsUp</item>
<item name="android:icon">@android:color/transparent</item>
</style>
Затем в вашем AndroidManifest.xml
вам нужно сослаться на это внутри тега вашего application
.
android:theme="@style/CustomActionBarTheme"
Если вы просто хотите изменить цвет, вы можете просто его направить:
<style name="DotsDarkTheme" parent="@style/Widget.AppCompat.ActionButton.Overflow" >
<item name="android:tint">@color/yourColor</item>
</style>
а затем используйте его в своем стиле:
<item name="actionOverflowButtonStyle">@style/DotsDarkTheme</item>
Также стоит добавить, что если вы просто хотите изменить кнопку переполнения на светлый или темный цвет, чтобы перейти со своим цветом панели действий, это можно сделать без указания пользовательского значка.
Для темного цвета кнопки укажите свою тему как:
<style name="MyTheme" parent="@style/Theme.AppCompat.Light">
<item name="android:actionBarStyle">@style/MyTheme.ActionBar</item>
</style>
Для цвета кнопки с подсветкой добавьте DarkActionBar:
<style name="MyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyTheme.ActionBar</item>
</style>
Если, как и я, вам нужен светлый цвет кнопки, но вы хотите, чтобы меню переполнения было светлым, вы можете сделать следующее:
<style name="MyTheme" parent="@style/Theme.AppCompat.Light.DarkActionBar">
<item name="android:actionBarStyle">@style/MyTheme.ActionBar</item>
<item name="android:actionBarWidgetTheme">@style/MyTheme.ActionBarWidget</item>
</style>
<!-- This helps the PopupMenu stick with Light theme while the ActionBar is in Dark theme -->
<style name="MyTheme.ActionBarWidget"
parent="android:Theme.Holo.Light">
<item name="android:popupMenuStyle">@android:style/Widget.Holo.Light.PopupMenu</item>
<item name="android:dropDownListViewStyle">@android:style/Widget.Holo.Light.ListView.DropDown</item>
</style>
Вы можете использовать свой собственный стиль внутри элемента меню, например
<item name="android:itemTextAppearance">@style/myCustomMenuTextApearance</item>
Определите стиль следующим образом:
<style name="myCustomMenuTextApearance" parent="@android:style/TextAppearance.Widget.IconMenu.Item">
<item name="android:textColor">@android:color/primary_text_dark</item>
</style>
Также см. Изменить цвет фона в меню параметров и
Создайте стиль ниже в файле styles.xml с родительским элементом в качестве виджета "Переполнение ActionButton", а затем используйте эту тему в стиле, который вы используете для того действия, где отображается панель инструментов.
Шаг 1) Создание стиля для actionButtonOverflow
<style name="DotsDarkTheme" parent="@style/Widget.AppCompat.ActionButton.Overflow" >
<item name="android:tint">your color</item>
</style>
Шаг 2) Использование этого стиля в действии, которое использует actionBar
<style name="CustomMainActivityTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="actionOverflowButtonStyle">@style/DotsDarkTheme</item>
</style>
если вы используете панель действий, используйте:
toolbar.getOverflowIcon().setColorFilter(Color.WHITE , PorterDuff.Mode.SRC_ATOP);