菜单项开/关日夜模式

时间:2019-04-19 15:05:23

标签: java android menuitem

有必要在白天和黑夜模式下打开或关闭菜单项,而不要进行切换。请帮助该功能。当应用程序处于白天模式时,用户从菜单中选择白天/夜晚模式的项目菜单。可以,夜间模式打开,但是从夜间模式选择相同的项目时,没有任何变化,应该返回到白天模式。请帮助我。

boolean isNight = true;
switch (item.getItemId()) {
    case R.id.day_night:
        if (Button.isChecked()) {
            //display warning message
            Toast.makeText(getApplicationContext(), getString(R.string.warning_message), Toast.LENGTH_LONG).show();
            return false;
        } else {
            if (isNight) {
                getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
            } else {
                getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
            }
            break;
        }
}     

1 个答案:

答案 0 :(得分:0)

创建全局变量(在onOptionsItemSelected之外)

boolean isNight;  // by default, isNight = false

然后在您的onOptionsItemSelected

switch (item.getItemId()) {
    case R.id.day_night:
        if (!isNight) {
            getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
            isNight = true;
        } else {
            getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
            isNight = false;
        }
        break;
    }
}