android - 使用 appcompat v21 更改 actionOverflowButtonStyle

标签 android android-actionbar material-design android-appcompat android-support-design

我想更改我的 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>

但这两种方式都不行。那里出了什么问题?

第二个问题是我可以将一个资源从图书馆更改为另一个资源(我只想将黑色 Action 溢出按钮更改为白色,它也出现在图书馆中)。

最佳答案

您可以使用 actionOverflowButtonStyle 属性在应用主题中定义溢出图标。

使用 Material 组件主题:

<style name="AppTheme.Base" parent="Theme.MaterialComponents.DayNight">
    <item name="actionOverflowButtonStyle">@style/OverFlow</item>
</style>

<style name="OverFlow" parent="Widget.AppCompat.ActionButton.Overflow">
    <item name="srcCompat">@drawable/my_overflow_menu</item>
</style>

使用AppCompat 主题:

<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 的属性。

关于android - 使用 appcompat v21 更改 actionOverflowButtonStyle,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26475918/

相关文章:

android - 在撰写中禁用横向模式

android - android中的多色条形图

推送到github后Android项目jar文件丢失

android - Android中ActionBarCompat变化效果

html - Mat-table、mat-sort 无法正常工作

java - 如何检索特定短信的联系方式?

android - ActionBar 中的选项卡

android - 如何在 android 操作栏中放置标签/文本,如显示钱包余额等

java - 将 Material 效果添加到 java swing

android - Gradle 无法解决 Android Studio 中的 Material 对话框依赖关系