Android 菜单项定义启用/禁用状态的样式

use*_*693 4 android menuitem android-actionbar

是否可以根据其启用/禁用状态为菜单项定义不同的样式?

例如,我希望菜单项的文本颜色在禁用模式下为灰色,在启用模式下为白色。

我没有像很多人在 stackoverflow 上那样成功地改变颜色。

Sim*_*mas 5

这实际上取决于您希望自定义的项目。

基本上,您可以创建一个根据其状态而变化的自定义颜色:

颜色/custom_color.xml:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:color="#FF0000" android:state_enabled="false"  />
    <item android:color="#CCCCCC"/>
</selector>
Run Code Online (Sandbox Code Playgroud)

然后将其设置为您的菜单项,如下所示:

menu.findItem(R.id.action_search).getActionView().
        setBackgroundResource(R.colors/custom_color.xml);
Run Code Online (Sandbox Code Playgroud)

或者也许在 xml 中(如果可用):

android:textColor="@color/custom_color"
Run Code Online (Sandbox Code Playgroud)