gpt4 book ai didi

android - 如何为 AppCompat r22.1 操作栏溢出图标着色?

转载 作者:太空狗 更新时间:2023-10-29 13:19:44 25 4
gpt4 key购买 nike

我知道可以通过设置自定义 actionOverflowButtonStyle替换 图标,如 here 所述.但是,该样式仅允许设置不同的可绘制对象和/或背景。

相反,我想使用 AppCompat 提供的标准图标,只是它着色一个特定的颜色,就像抽屉图标/后退按钮可以着色一样通过 drawerArrowStyle 中的 color 属性。

我已经尝试过这些方法,据报道这些方法曾经有效:

但据我所知,它们都不能与最新的 AppCompat 一起工作——溢出图标保持其原始颜色(而其他小部件,例如 TextView 或菜单项中的文本改变).

现在应该以不同的方式进行吗?我没有使用自定义 Toolbar View ,只是默认的 AppCompat 提供的类似 ActionBar 的 View 。


如何重现:

  1. 创建一个默认的 Android Studio 项目,最低 SDK 版本 = 9。
  2. 这会自动包含一个空白 Activity 和一个带有单个菜单项“设置”的菜单资源,其中包含 app:showAsAction="never",这意味着它将显示在溢出菜单中。
  3. 最后,自定义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 中测试。

最佳答案

如果跟踪 Theme.AppCompat.Light.DarkActionBar 主题,您会看到它设置了:

<item name="actionBarTheme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>

它又继承自 Base.ThemeOverlay.AppCompat.Dark,它设置了:

<item name="android:textColorPrimary">@color/abc_primary_text_material_dark</item>

本质上等于白色:

<color name="primary_text_default_material_dark">#ffffffff</color>

如果您只是继承自 Base.Theme.AppCompat.Light,则不会遇到此问题,因为它没有设置 actionBarTheme。无论如何,您都可以使用 Material 属性轻松自定义操作栏。

关于android - 如何为 AppCompat r22.1 操作栏溢出图标着色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30492539/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com