Layouts "theme-abhängig" laden

  • 2 Antworten
  • Letztes Antwortdatum
missspelled

missspelled

App-Anbieter (In-App)
127
Hallo,
ich frage mich, welche Möglichkeiten es gibt Layouts abhängig von einer Theme-Einstellung (zB Light bzw. Dark) zu laden.
Aktuell gehe ich wie folgt vor:

Code:
if (ML.isDarkTheme(getActivity())) {
    return inflater.inflate(R.layout.nav_drawer_dark, container, false);
} else return inflater.inflate(R.layout.nav_drawer, container, false);
Code:
public static boolean isDarkTheme(Context c) {
    final SharedPreferences sp = c.getSharedPreferences(MP.CONFIG_FILE_NAME, Context.MODE_PRIVATE);
    return !sp.getString(MP.PK_LIST_THEME, MP.DEFAULT_THEME).equals(MP.LIGHT);
}

-> anhand des Context hole ich mir die Info welches Theme eingestellt ist und lade aufgrund des Boolean das jeweilige Layout.

Nun ist meine Frage:
Wie lässt sich das anders darstellen? Welche Vorteile hat welche Vorgehensweise hinsichtlich Wartbarkeit und Performance?

Besten Dank vorab.
 
Es macht eigentlich kein wirklichen Sinn. Man sollte entweder ein Thema vorgeben, oder programmieren, dass es egal ist, welche Themen benutzt werden.

Ich habe ein CustomRom auf mein Handy, und mein aktuelles Standartthema ist Material Glass. Und dort sind die Actionbar und die Statusbar transparent. D.h. die App sieht auf meinen Handy noch mal anders aus.
https://play.google.com/store/apps/details?id=com.pitchedapps.material.glass.free

Die größte Performance hast du, wenn du es einfach ignorierst. Du erwischt sowie so nicht alle. Du sparst Zeit und Nerven. Und der Code lässt sich auch einfacher warten.
 
Hallo, danke schon mal für die Antwort. Aber so ganz schlau werde ich noch nicht draus...
Im Prinzip geht es um Folgendes:
Ich habe ein Light und ein Dark Theme und dort möchte ich jetzt beispielsweise die Trennlinien (Divider) einer ListView je nach Theme unterschiedlich laden.
Wie macht man das möglichst einfach via xml?
Irgendwie funktioniert das über die "Styles" und das Überschreiben der Divider-Attribute.. Aber wie genau das von statten geht, ist mir ein Rätsel. So wirklich schlau bin ich aus den Antworten, die ich Stackoverflow gefunden habe, noch nicht geworden..

Habs^^ Erklärung folgt gleich..

Hab mal ein paar Zeilen dazu geschrieben, hoffe es ist verständlich geschrieben^^
https://www.android-hilfe.de/forum/...ngig-vom-theme-laden.675367.html#post-8757256
 
Zuletzt bearbeitet:
Zurück
Oben Unten