Android Q: Как программно установить темный режим для всех приложений глобально?

Я хочу изменить тему Android Q на темный режим, но не только для одного приложения. Я хочу применить его ко всему устройству. Это возможно? Если да, то как?

1 ответ

Android 10 предоставляет Force Dark, функцию, позволяющую разработчикам быстро реализовать темную тему без явной установки темы DayNight, как описано выше.

Force Dark анализирует каждое представление вашего приложения со светлой темой и автоматически применяет темную тему, прежде чем она будет отображена на экране. Некоторые разработчики используют сочетание Force Dark и нативной реализации, чтобы сократить время, необходимое для реализации темной темы.

Приложения должны согласиться на Force Dark, установив android:forceDarkAllowed="true" в теме действия. Этот атрибут установлен во всех системных и предоставленных AndroidX светлых темах, таких как Theme.Material.Light. Когда вы используете Force Dark, вы должны тщательно протестировать свое приложение и при необходимости исключить просмотры.

Если ваше приложение использует темную тему (например, Theme.Material), Force Dark не применяется. Точно так же, если тема вашего приложения наследуется от темы DayNight, Force Dark не будет применяться из-за автоматического переключения тем.

Ознакомьтесь с полной документацией здесь - https://developer.android.com/guide/topics/ui/look-and-feel/darktheme

Другие вопросы по тегам