我知道有可能取代圖標通過設置一個自定義actionOverflowButtonStyle
here描述。但是,該樣式只允許設置不同的可繪製和/或背景。如何着色AppCompat r22.1操作欄溢出圖標?
相反,我想用由程序兼容性提供的標準圖標,只是着色它與特定的顏色,正如抽屜圖標/後退按鈕可以經由color
屬性在drawerArrowStyle
被着色。
我都試過這些方法,據說曾經工作:
- 設置
colorControlNormal
- Toolbar icon tinting on Android - 設置在主題
textColorPrimary
- MenuItem tinting on AppCompat Toolbar - 設置自定義
actionBarStyle
和改變colorControlNormal
那裏。
但據我可以看到他們沒有使用最新的程序兼容性工作 - 溢出圖標保持其原來的顏色(而其他部件,如TextViews或菜單項的文本做變化)。
現在應該這樣做嗎?我沒有使用自定義的Toolbar
視圖,只是默認的AppCompat提供的,類似於ActionBar的視圖。
如何重現:
- 創建一個默認的Android Studio項目,以最小的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>
你會發現,無論是屬性會影響溢出菜單圖標的顏色。使用Android 5.1.1測試Nexus 5。
[mcve](http://stackoverflow.com/help/mcve)請 – tachyonflux
@karaokyo完成,雖然它非常容易重現 - 默認的新Android Studio項目已經足夠。 – matiash
哦,好吧,這是'DarkActionBar'強制白色覆蓋。不要使用'DarkActionBar'? – tachyonflux