繁体   English   中英

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

[英]android - Menu item stays white even disabled

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

在此处输入图片说明

我正在使用此代码:

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

它启用/禁用,但是禁用时它实际上并没有变成灰色。

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

根据Android 文档, onPrepareOptionsMenu会在打开菜单之前被调用,但是如果菜单始终处于打开状态,则不会调用它。

所以,

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM