是否可以更改操作欄中的溢出圖標?我有所有ActionBar項目的藍色圖標,我也想在出現時更改溢出圖標。更改操作欄中的溢出圖標
回答
您可以使用樣式,但必須將其添加到主題主題聲明中。
<resources>
<!-- Base application theme. -->
<style name="Your.Theme" parent="@android:style/Theme.Holo">
<!-- Pointer to Overflow style ***MUST*** go here or it will not work -->
<item name="android:actionOverflowButtonStyle">@style/OverFlow</item>
</style>
<!-- Styles -->
<style name="OverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_action_overflow</item>
</style>
</resources>
您還可以動態地改變它,這是我細講這裏左右:
我已經發現這個解決方案正在尋找源代碼,但謝謝:)這是一個很好的答案。 – pjanecze 2012-03-16 07:42:09
請注意,這適用於THEME,而不是STYLE。如果我堅持了一段時間,直到我意識到這一點。 Thx @aneal – 2012-11-19 08:21:10
這會在運行Android 3.0(API 11)的平板電腦上崩潰,因爲它不喜歡定義風格「android:actionOverflowButtonStyle」(可能是平臺bug)的人。所以你必須在values-v11/styles.xml和values-v15/styles.xml中使用不同的樣式。 – 2012-12-31 07:24:12
@adneal's answer是正確的(所以這只是一個社區維基解釋擴大就可以了)。
其中一條評論意味着可能會誤解如何做到這一點,所以我的回答是關於如何覆蓋溢出圖標圖像的另一個例子。
以下代碼基於ADT示例New Android Project中的模板樣式。代碼來自res/values
文件夾中的styles.xml
文件。
<style name="AppBaseTheme" parent="android:Theme.Light">
<!--
Theme customizations available in newer API levels can go in
res/values-vXX/styles.xml, while customizations related to
backward-compatibility can go here.
-->
</style>
<!-- Application theme. -->
<style name="AppTheme" parent="AppBaseTheme">
<!-- All customizations that are NOT specific to a particular API-level can go here. -->
<item name="android:actionOverflowButtonStyle">@style/OverflowMenuButton</item>
</style>
<style name="OverflowMenuButton" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_menu_moreoverflow</item>
</style>
這是什麼上面的代碼所做的就是用您有任何可繪製的名爲ic_menu_moreoverflow
默認溢出圖標。如果您想要快速測試它,請使用您的應用程序的啓動器圖標文件名,這將使它明白它的工作原理。
一個有用的資源,試圖瞭解ActionBar
造型時使用,方法是:
在那裏,你可以定義特定的顏色使用您的溢出圖標,ZIP文件將包括正確的styles.xml
文件爲你。
漫長的尋找什麼,我得到了指導後要遵循這樣的:
- 檢查在宣言文件的主題。
- 然後去res-> values->主題。
- 在此文件中查找主題名稱。
主題中添加該項目在theme.xml:
<item name="android:actionBarWidgetTheme">@style/widgetStyle</item> <item name="android:actionOverflowButtonStyle">@style/MyActionButtonOverflow</item>
在風格上添加圖標在同一個文件我的意思是theme.xml:
<style name="MyActionButtonOverflow" parent="android:style/Widget.Holo.ActionButton.Overflow"> <item name="android:src">@drawable/icon_menu</item> </style>
退房您要更改的自定義圖標
它對我有用
更改styles.xml動作條的自定義菜單圖標。在AndroidManifest.xml
<application android:name="com.example.android.MainApp" android:theme="@style/AppTheme"> </application>
的應用標籤
<resources>
<!-- Base application theme. -->
<style name=「MyTheme" parent="@android:style/Theme.Holo">
<!-- Pointer to Overflow style DONT forget! -->
<item name="android:actionOverflowButtonStyle">@style/MyOverFlow</item>
</style>
<!-- Styles -->
<style name="MyOverFlow" parent="@android:style/Widget.Holo.ActionButton.Overflow">
<item name="android:src">@drawable/ic_your_action_overflow</item>
</style>
</resources>
認沽自定義主題 「的MyTheme」 玩得開心。@。@
不管我試圖styles.xml
做,沒有任何解決方案爲我工作。最後,如果你有程序兼容性23+,你應該,這是實際工作的最簡單的方法:
toolbar.setOverflowIcon(drawable);
- 1. 如何更改上下文操作欄的溢出圖標而不更改其標準操作欄?
- 2. 更改操作欄圖標
- 3. 更改操作欄圖標
- 4. 更改操作欄中的圖標
- 5. 更改操作欄中的動作溢出文本顏色
- 6. 如何在操作欄中將溢出圖標更改爲白色?
- 7. 更改操作欄上的圖標
- 8. 更改操作欄菜單圖標
- 9. 操作欄和更改圖標
- 10. 將動作欄溢出圖標更改爲黑色版本
- 11. Android - 操作欄溢出
- 12. Android操作欄,溢出
- 13. Holo.Light操作欄,但與黑暗風格溢出操作欄菜單圖標?
- 14. 更改ActionMode溢出圖標
- 15. Android:更改操作欄中的標籤
- 16. AppCompat工具欄:更改ActionMode中的溢出圖標顏色
- 17. Android:更改操作欄上的操作共享項的圖標
- 18. 操作欄中的溢出菜單
- 19. Android操作欄圖標始終處於溢出狀態
- 20. 如何着色AppCompat r22.1操作欄溢出圖標?
- 21. 操作欄溢出不使用三點圖標
- 22. 在操作欄中更改圖像
- 23. 更改工具欄溢出圖標顏色
- 24. Android 3.0:更改操作欄中圖標的順序
- 25. 更改操作欄中的可搜索圖標
- 26. 如何更改操作欄中的選項菜單圖標?
- 27. 如何更改操作欄中的選項菜單圖標?
- 28. 如何更換/更改操作欄項目的圖標
- 29. 如何圖標添加到項目中溢出菜單操作欄中的
- 30. 更改操作欄圖標作爲dialogfragment的響應
@ShirishHerwade:那現在鏈接已經死了。 – 2017-03-30 21:25:53