Stilhierarchie in Android - in welcher Reihenfolge?

9

Ich habe eine Android-Anwendung, an der ich arbeite, mit einem benutzerdefinierten Thema, das im Android-Manifest auf die Hauptaktivität selbst angewendet wurde. Diese Aktivität erstellt eine Listenansicht, auf die der Stil angewendet wird.

Wenn ich ein benutzerdefiniertes Layout für diese Listenansicht anlege, einschließlich einer separaten XML-Datei für die Zeilen selbst, und ich verwende Styling direkt für diese Layouts, überschreibt dieser Stil den Gesamtstil für die Anwendung? Ich versuche, die Hierarchie der Ereignisse so weit zu verstehen, wie Styling und Design funktionieren.

Die Art und Weise, wie ich es schätze funktioniert in meinem Beispiel ist: Stil für Zeile anwenden, referenziert durch Zeilenlayout xml & gt; apply style für die gesamte Listenansicht, referenziert von listview layout xml & gt; Wenden Sie einen Stil aus einem benutzerdefinierten Thema an, auf das durch den Style xml verwiesen wird, auf den das Android-Manifest

verweist

Habe ich Recht? Oder nähere ich mich dem falsch? (nur für Verwirrung willen, durch "& gt;" meine ich eine größere Bedeutung als)

    
optionsix 13.07.2011, 20:24
quelle

2 Antworten

0

Ich hoffe, ich verstehe Ihre Frage genau hier ...

Die Styles, die Sie in styles.xml definieren, überschreiben immer die Stile, die von dem Theme stammen, das derzeit von Android verwendet wird.

Aber das funktioniert nur für die Attribute, die Sie überschreiben.

Wenn Sie ein Attribut unberührt lassen, wird Android den Stil dafür liefern, und manchmal kommt Ihnen das in den Hintern beißen:)

Dieses System wird am besten so beschrieben: Eine Textansicht erfordert ein Attributbeispiel

%Vor%

Android wird zuerst im ursprünglichen Layout suchen. Wenn es nicht gefunden wird, wird es in Ihren benutzerdefinierten Stilen nachschlagen. Wenn nicht gefunden, wird es in Android-Stile aussehen.

Hoffe, das hilft.

    
Richard Lalancette 25.09.2011 14:18
quelle
0

Die Standardthemen haben Linien, die den ListView-Stil definieren:

%Vor%

In Ihrem eigenen Thema können Sie ein

tun %Vor%

Etwas, das nicht im ListView-Stil (eigene oder Standard) definiert ist, ist das, was im Theme definiert ist, wenn Sie es dort definiert haben.

    
plaisthos 20.02.2013 18:15
quelle

Tags und Links