J'ai créé une PreferenceActivity qui permet à l'utilisateur de choisir le thème qu'il souhaite appliquer à l'ensemble de l'application.Comment modifier le thème actuel lors de l'exécution dans Android
Lorsque l'utilisateur sélectionne un thème, ce code est exécuté:
if (...) {
getApplication().setTheme(R.style.BlackTheme);
} else {
getApplication().setTheme(R.style.LightTheme);
}
Mais, même si je l'ai vérifié avec le débogueur que le code est en cours d'exécution, je ne vois aucun changement dans la interface utilisateur.
Les thèmes sont définis dans res/values/styles.xml
et Eclipse n'indique aucune erreur.
<resources>
<style name="LightTheme" parent="@android:style/Theme.Light">
</style>
<style name="BlackTheme" parent="@android:style/Theme.Black">
</style>
</resources>
Une idée sur ce qui pourrait se produire et comment y remédier? Devrais-je appeler setTheme
à un point particulier du code? Mon application se compose de plusieurs activités si cela aide.
http://stackoverflow.com/a/32111974/1318946 –