java - android - 菜单项保持白色甚至禁用

标签 java android android-actionbar

工具栏中的“保存”项目变灰只发生在设计模式下,但绝不会发生在运行时。

enter image description here

我正在使用这段代码:

 @Override
public boolean onPrepareOptionsMenu(Menu menu) {
    if(count > 0) {
        menuItemSave.setEnabled(true);

    } else {
        menuItemSave.setEnabled(false);
    }

    return true;
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.options_menu, menu);

    menuItemSave = menu.findItem(R.id.save);

    return true;
}

它正在启用/禁用,但它在禁用时真的不会变成灰色。

最佳答案

当按钮启用或禁用时,您可以使用自定义颜色来更改颜色。 [ 根据您的要求更改颜色 ] 颜色/custom_button_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>

在 menu.xml 文件中设置您需要的按钮项,例如

android:textColor="@color/custom_button_color"

关于java - android - 菜单项保持白色甚至禁用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46612344/

相关文章:

android - 更改searchView提示文本颜色

java - 如何抑制某些 Maven 日志但保留其他输出?

Android:如何在一个 Vector Drawable xml 中使用选择器更改 android:fillcolor

java - 反序列化加密的对象列表

java - 添加报价到列表

Android:在一个 Activity 中向操作栏添加样式

java - 如何在Android中对字符串进行哈希处理?

java - 正则表达式删除字符串中的最后一个单词

java - 使用正则表达式查找括号中包含单个字符的单词

android - 以编程方式/动态方式设置操作项图标之间的间距