Android: как работать с дневными/ночными темами

Я создаю приложение для Android, и мне нужно иметь две разные темы для дневного и ночного режимов: разные цвета и разные рисунки.

Как лучше всего это сделать?

Я заметил службу под названием UiModeManager, но я не уверен, ведет ли она себя так, как я ожидаю. Я поместил два разных растровых изображения (с одинаковыми именами) в drawable-mdpi и drawable-night-mdpi и создал действие, которое показывает это растровое изображение.

Я попытался переключить дневной/ночной режим, вставив onCreate():

    UiModeManager uiManager = (UiModeManager) getSystemService(Context.UI_MODE_SERVICE);
    uiManager.setNightMode(UiModeManager.MODE_NIGHT_YES);

Но Андроид всегда показывает "дневную" версию.

Любое предложение или подсказка будут оценены.

Спасибо, Маурицио.


person Maurix    schedule 06.04.2012    source источник


Ответы (1)


В примере HoneycombGallery есть переключатель дня/ночи для темы (фон + чертежи и др.). Они определили только две темы и установили их в коде через setTheme(). Может быть, это поможет вам

Изменить: согласно документам setNightMode() " Изменения в ночном режиме действуют только тогда, когда на устройстве включен автомобильный или настольный режим».

person 207    schedule 06.04.2012