Android Pie a ajouté la possibilité de basculer entre le thème clair et le thème foncé dans le menu Paramètres -> Affichage -> Thème de l'appareil.
Je veux que mon application applique le bon thème en fonction du thème de l'appareil défini dans les paramètres de l'appareil.
Selon la Styles et thèmes Guide Android, pour le mode sombre, l'application doit utiliser un thème qui s'étend jusqu'à l'écran d'accueil. Theme.AppCompat
Pour le mode lumineux, l'application doit utiliser un thème qui étend la notion de Theme.AppCompat.Light
.
J'ai donc créé deux thèmes dans mon application :
<style name="AppTheme.Dark" parent="Theme.AppCompat">
...
</style>
<style name="AppTheme.Light" parent="Theme.AppCompat.Light">
...
</style>
Toutefois, en AndroidManifest.xml
lorsque je déclare l'application avec l'option <application>
Je ne peux spécifier qu'un seul thème dans la balise android:theme
attribut :
<application
android:name=".MyApplication"
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher"
android:supportsRtl="true"
android:theme="@style/AppTheme.Light"
tools:replace="android:name">
Comment déclarer ma candidature en AndroidManifest.xml
a de manière dynamique choisir @style/AppTheme.Light
o @style/AppTheme.Dark
selon le thème de l'appareil défini dans les paramètres de l'appareil ?