菜单项开/关日夜模式

问题描述 投票:0回答:1

菜单项必须打开或关闭日夜模式而不是切换。请帮忙完成这个功能。当应用程序处于白天模式时,用户从菜单中选择日/夜模式的项目菜单。没关系,夜间模式已开启,但是当从夜间模式中选择相同的项目时,没有变化,它应该返回到白天模式。请帮我。

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;
        }
}     
java android menuitem
1个回答
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;
    }
}     
© www.soinside.com 2019 - 2024. All rights reserved.