[英]Change action bar overflow icon
我在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>
但是它並沒有改變溢出圖標,該主題中的所有其他項目都工作正常,但不是這個,我有什么遺漏嗎?
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));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.