我想更改Toolbar
(或ActionBar
中的操作溢出按钮图标,无论如何)。
所以我走这条路:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="android:actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>
</style>
<style name="AppTheme.OverflowButtonStyle" parent="Widget.AppCompat.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_custom</item>
</style>
或者这样:
<style name="AppTheme.Base" parent="Theme.AppCompat.Light.NoActionBar">
<item name="toolbarStyle">@style/AppTheme.ToolbarStyle</item>
</style>
<style name="AppTheme.ToolbarStyle" parent="Base.Widget.AppCompat.Toolbar">
<item name="actionOverflowButtonStyle">@style/AppTheme.OverflowButtonStyle</item>
</style>
<style name="AppTheme.OverflowButtonStyle" parent="Widget.AppCompat.Light.ActionButton.Overflow">
<item name="android:src">@drawable/ic_custom</item>
</style>
但两种方式都不起作用。那有什么不对?
第二个问题是我可以从库中将一个资源从库更改为另一个资源(我只想将黑色动作溢出按钮更改为白色,这也出现在库中)。
答案 0 :(得分:18)
您可以使用此样式(或Theme.AppCompat.Light.NoActionBar):
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="actionOverflowButtonStyle">@style/OverFlow</item>
</style>
<style name="OverFlow" parent="Widget.AppCompat.ActionButton.Overflow">
<item name="android:src">@drawable/ic_myoverflow</item>
</style>
使用appcompat,你必须使用没有android namaspace的属性。