显示工具栏中的“保存”项仅在设计模式下发生,但从不在运行时发生。
我正在使用此代码:
@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;
}
它启用/禁用但在禁用时它确实没有变成灰色。
答案 0 :(得分:3)
启用或禁用按钮时,可以使用自定义颜色更改颜色。 [根据您的要求改变颜色] 颜色/ 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"
答案 1 :(得分:0)
根据Android docs onPrepareOptionsMenu在菜单打开之前调用。但是如果菜单始终打开,则不会调用它。
所以,
在Android 3.0及更高版本中,如果要更新始终打开的菜单,则必须调用invalidateOptionsMenu()。然后系统将调用onPrepareOptionsMenu(),以便您可以更新菜单项。