9

所以我为夜间模式制作了单独的 xml,并将它们保存在layout-night.

然后我切换到夜间模式:

UiModeManager uiManager = (UiModeManager) getSystemService(Context.UI_MODE_SERVICE);
    if (nightMode) {
        uiManager.enableCarMode(0);
        uiManager.setNightMode(UiModeManager.MODE_NIGHT_YES);
    } else {
        uiManager.disableCarMode(0);
        uiManager.setNightMode(UiModeManager.MODE_NIGHT_NO);
    }

是否可以在不启用汽车模式的情况下设置夜间模式?

或者就此而言可以使用layout-night, values-night etc文件夹而不使用setNightMode()

4

2 回答 2

3

使用 23.2.0(及更高版本)的 appcompat 库,可以使用:

AppCompatDelegate.setDefaultNightMode

在这里你会找到例子。

于 2016-05-05T10:38:41.710 回答
2

不,根据文档 setNightMode()"Changes to the night mode are only effective when the car or desk mode is enabled on a device."

http://developer.android.com/reference/android/app/UiModeManager.html#setNightMode(int)

检查:https ://stackoverflow.com/a/23123791/28557

于 2014-05-07T13:07:56.253 回答