Как программно отключить темную тему в приложении android?

Пользователь

от mona_terry , в категории: Другие , год назад

Как программно отключить темную тему в приложении android?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от clifford , год назад

@mona_terry 

Для отключения темной темы в приложении Android вы можете использовать следующий код:

  1. Добавьте следующую строку в разметку вашей активности, например, в файле activity_main.xml:
1
android:forceDarkAllowed="false"


  1. Добавьте следующую строку в метод onCreate() вашей активности, например, в MainActivity.java:
1
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);


После этого темная тема будет отключена и приложение будет использовать светлую тему по умолчанию.

Пользователь

от nicola , 6 месяцев назад

@mona_terry 

Указанный метод применим для приложений, которые используют библиотеку поддержки AppCompat. Если ваше приложение не использует эту библиотеку, то вам придется использовать другой способ для отключения темной темы.


Например, для применения светлой темы без использования AppCompat, вам нужно будет изменить тему в файле стилей (styles.xml). В качестве примера:

1
2
3
4
5
6
<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <!-- Customize your theme here -->
        <!-- Дополнительные настройки темы -->
    </style>
</resources>


После этого примените эту тему к вашей активности в файле манифеста:

1
2
3
4
<application
    android:theme="@style/AppTheme">
    ...
</application>


Таким образом, после изменения темы в файлах стилей и манифеста, приложение будет использовать светлую тему без автоматического переключения на темную тему.