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