Skip to content

DarkThemeMode в приложении с поддержкой тёмной темы #59

Open
andreybgm opened this issue Aug 18, 2021 · 0 comments

Comments

@andreybgm
Copy link

andreybgm commented Aug 18, 2021

Здравствуйте.

У нас в приложении реализована поддержка тёмной темы с переключением через настройки ("Светлая / Тёмная / Как в системе"). Им соответствуют вызовы AppCompatDelegate.setDefaultNightMode(MODE_NIGHT_NO / MODE_NIGHT_YES / MODE_NIGHT_FOLLOW_SYSTEM). Вариант MODE_NIGHT_AUTO_BATTERY не поддерживается.

При открытии экранов sdk вызов BaseAcquiringActivity.resolveThemeMode() перезатирает режим темы в соответствии с FeaturesOptions.darkThemeMode.

Получается следующий эффект:

  • Устройство с api <= 27, включен режим энергосбережения, в настройках приложения "Как в системе" (т.е. в приложении по факту светлая тема), в sdk передаётся DarkThemeMode.AUTO. При открытии экрана sdk происходит переключение всего приложения в тёмную тему (в соответствии с MODE_NIGHT_AUTO_BATTERY).
  • Если при настройке "Как в системе" вместо DarkThemeMode.AUTO всегда явно передавать в sdk DarkThemeMode.DISABLED или DarkThemeMode.ENABLED, то после открытия экранов sdk приложение не реагирует на переключение темы в системе.

Можно ли в DarkThemeMode добавить режим, при котором sdk не будет изменять настройки темы?

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant