Überschreibe Standard-Android-Designs

8

Ich konnte alle Designs überschreiben, deren Namen "android:" vorangestellt sind, aber die themes.xml von Android definiert auch Eigenschaften, die nicht überschrieben werden können. Zum Beispiel:

%Vor%

colorBackground ist in der Theme.Light-XML definiert, aber das Hinzufügen von diesem gibt mir ein

%Vor%

Fehler. Wie überschreibe ich diesen Stil für die Anwendung als Ganzes?

    
typeoneerror 28.01.2011, 23:14
quelle

2 Antworten

8

Sie können Standardattribute genauso überschreiben, wie Sie Eigenschaften wie windowNoTitle geändert haben. Vergessen Sie nicht, android: Präfix wie folgt hinzuzufügen:

%Vor%     
Malcolm 08.02.2011, 14:27
quelle
3

Ohne das Präfix attr wird Ihr colorBackground zu einem Attribut, das Sie definieren müssen. Betrachten Sie das folgende Beispiel, in dem theme_dependent_icon in einem styles.xml definiert ist:

%Vor%

Dann können Sie das Attribut über ?attr/theme_dependent_icon in Ihrem main_activity.xml :

verwenden %Vor%

Da in diesem Beispiel die benutzerdefinierten Designnamen MyDarkTheme und MyLightTheme verwendet wurden, müssen sie während onCreate Ihrer Hauptaktivität vor setContentView ausgewählt werden, d. h.

%Vor%

Das Aufrufen von setTheme () ist eine Möglichkeit, ein Thema zur Laufzeit auszuwählen. Eine weitere Möglichkeit besteht darin, mehrere Versionen von styles.xml in Ihren Ressourcen unter den Optionen values , values-11 , values-14 entsprechend dem Standardthema, Theme für Android 3.0 (API-11) und Theme für Android 4.0 (API-14) zu definieren ).

    
Stephen Quan 20.11.2012 21:46
quelle

Tags und Links