Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/395.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/205.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android-菜单项保持白色,即使已禁用_Java_Android_Android Actionbar - Fatal编程技术网

Java android-菜单项保持白色,即使已禁用

Java android-菜单项保持白色,即使已禁用,java,android,android-actionbar,Java,Android,Android Actionbar,在工具栏中灰显保存项仅在设计模式下发生,但在运行时不会发生 我正在使用以下代码: @Override public boolean onPrepareOptionsMenu(Menu menu) { if(count > 0) { menuItemSave.setEnabled(true); } else { menuItemSave.setEnabled(false); } return true; } @Over

在工具栏中灰显保存项仅在设计模式下发生,但在运行时不会发生

我正在使用以下代码:

 @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;
}

它正在启用/禁用,但禁用时它实际上不会变成灰色。

当按钮启用或禁用时,您可以使用自定义颜色来更改颜色。[根据您的要求更改颜色] 颜色/自定义按钮\u 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>
根据Android OnPrepareOptions,菜单在打开之前会被调用。但若菜单始终打开,则不会被调用

所以

在Android 3.0及更高版本上,如果要更新始终打开的菜单,必须调用InvalidateOptions菜单()。然后,系统将调用onPrepareOptions菜单(),以便您可以更新菜单项

android:textColor="@color/custom_button_color"