Ich habe eine PreferenceActivity erstellt, mit der der Benutzer das Thema auswählen kann, das er auf die gesamte Anwendung anwenden möchte.So ändern Sie das aktuelle Design zur Laufzeit in Android
Wenn der Benutzer ein Thema auswählt, wird dieser Code ausgeführt:
if (...) {
getApplication().setTheme(R.style.BlackTheme);
} else {
getApplication().setTheme(R.style.LightTheme);
}
Aber, obwohl ich mit dem Debugger überprüft haben, dass der Code ausgeführt wird, kann ich sehen, keine Änderung in der Benutzeroberfläche.
Themen sind in res/values/styles.xml
definiert, und Eclipse zeigt keinen Fehler an.
<resources>
<style name="LightTheme" parent="@android:style/Theme.Light">
</style>
<style name="BlackTheme" parent="@android:style/Theme.Black">
</style>
</resources>
Irgendeine Idee darüber, was passieren könnte und wie man es beheben kann? Sollte ich an einem bestimmten Punkt im Code setTheme
anrufen? Meine Anwendung besteht aus mehreren Aktivitäten, wenn das hilft.
http://stackoverflow.com/a/32111974/1318946 –