Изменить значок переполнения панели действий
Я применил следующий код в values-v11
папка
styles.xml
<style name="actionBarTheme" parent="android:Theme.Holo.Light">
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="MyActionButtonOverflow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/action_item_btn</item>
</style>
Но это не меняет значок переполнения, все остальные элементы в этой теме работают нормально, но не этот, я что-то пропустил?
2 ответа
Решение
i want to apply these styles above 4.0 version
Но у вас есть стили в values-v11
Также обратите внимание
parent="android:Theme.Holo.Light" // in your code
в
parent="@android:style/Theme.Holo" // mine
Должно быть в values-v14
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="@android:style/Theme.Holo">
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="MyActionButtonOverflow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_launcher</item>
</style>
</resources>
Snap
Забудьте, как выглядит пользовательский интерфейс для тестирования. Но вы видите значок запуска как значок меню переполнения.
Редактировать:
Это мой тестовый образец
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="MyTheme" parent="@android:style/Theme.Holo.Light">
<item name="android:actionBarStyle">@style/MyActionBar</item>
<item name="android:actionBarDivider">@color/red</item>
<item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
</style>
<style name="MyActionBar" parent="@android:style/Widget.Holo.Light.ActionBar">
<item name="android:background">#FF9D21</item>
<item name="android:titleTextStyle">@style/MyActionBarTitleText</item>
</style>
<style name="MyActionBarTitleText"
parent="@android:style/TextAppearance.Holo.Widget.ActionBar.Title">
<item name="android:textColor">@color/red</item>
<item name="android:textStyle">bold</item>
</style>
<style name="MyActionButtonOverflow" parent="@android:style/Widget.Holo.Light.ActionButton.Overflow">
<item name="android:src">@drawable/launcher</item>
</style>
<style name="ActionButton" parent="@android:style/Widget.Holo.Light.ActionButton">
</style>
</resources>
Colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#FF0000</color>
</resources>
Щелчок
Я думаю, что вы должны сделать следующее:
<style name="MyCustomTheme" parent="style/Theme.Holo">
<item name="android:actionOverflowButtonStyle">@style/MyCustomTheme.OverFlow</item>
</style>
<style name="MyCustomTheme.OverFlow">
<item name="android:src">@drawable/my_overflow_image</item>
</style>
Вы можете установить это программно на Java следующим образом:
toolbar.setOverflowIcon(getResources().getDrawable(R.drawable.your_icon, null));