9

So I made separate xmls for night mode and kept them in layout-night.

Then I switch to night mode:

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

Is it possible to set night mode without enabling car mode?

or for that matter possible to use layout-night, values-night etc folders without using setNightMode()?

KetanJogani
  • 306
  • 2
  • 20

2 Answers2

3

With 23.2.0(and higher) appcompat library it is possible with:

AppCompatDelegate.setDefaultNightMode

Here you will find example.

Mateusz Pryczkowski
  • 1,874
  • 1
  • 16
  • 20
  • @Mateusz Pryczkowski the link redirects to an unrelated site. Please correct it or delete it. – Dale Jul 11 '19 at 17:27
2

NO, According to docs 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)

Check : https://stackoverflow.com/a/23123791/28557

Community
  • 1
  • 1
Vinayak Bevinakatti
  • 40,205
  • 25
  • 108
  • 139