Jon*_*nik 4 android android-menu android-theme android-actionbar
随着Theme.Holo.Light作为基本主题,设计师注意到,默认的文本颜色不是黑色,而是深灰色(#505050).我们想把它改成黑色.

寻找一种简单的方法将应用程序中的默认值更改为黑色,我发现这有效:
<resources>
<style name="MyAppTheme" parent="android:Theme.Holo.Light">
<item name="android:textColor">@android:color/black</item>
</style>
</resources>
Run Code Online (Sandbox Code Playgroud)
现在,问题是,这也改变了Action Bar溢出菜单中禁用项目的颜色.如何在仍然禁用菜单项看起来"禁用"时覆盖默认文本颜色?
菜单应如下所示,但android:textColor如上所述,它会将所有项目更改为黑色.

我与实验textColorPrimaryInverse,textColorPrimaryDisableOnly,textColorPrimaryInverseDisableOnly和disabledAlpha,但这些似乎并没有影响到溢出菜单.
小智 12
您可以使用drawable作为文本颜色,在drawable中,您可以使用selector根据启用状态选择颜色.使用以下可绘制定义作为颜色将使禁用的菜单项为灰色,其余为黑色.
例如res/drawable/default_text_colour.xml:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="false" android:color="@android:color/darker_gray"/>
<item android:color="@android:color/black"/>
</selector>
Run Code Online (Sandbox Code Playgroud)
然后,使用drawable:
<item name="android:textColor">@drawable/default_text_colour</item>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2404 次 |
| 最近记录: |