2016-06-21 20 views
0

Gibt es eine Möglichkeit, in Android Studio ein Style Theme Farbe wie colorPrimary für meine Artikel zu verwenden Hintergrund statt @color/"whateverColorYouWant"Gibt es einen Weg, in Android Studio ein Style Theme Color wie colorPrimary für meine Artikel Hintergrund intsted von @ color/"whateverColorYouWant"

Ich möchte das Thema während des Spiels und die Farben von allem in der Ansicht ändern. Kann ich Objekten eine Variable @styles/colorPrimary zuweisen? Dies würde es mir ermöglichen, @styles/colorPrimary zu ändern, wodurch alle Objekte verursacht werden, denen diese Farbe zugewiesen wurde. Dies würde das Ändern vieler Objekte auf einmal ermöglichen, ohne jedes Objekt manuell zu ändern, sondern stattdessen eine Variable zu aktualisieren.

Antwort

1

Wenn Sie colorPrimary in einem Design definiert haben, können Sie in XML über ?colorPrimary auf die gleiche Weise wie bei @ color/whateverColor zugreifen. Das Fragezeichen (?) Stellt eine Referenz auf ein Themenattribut dar. Wenn Sie jedoch das bereits vorhandene Android-Attribut verwenden, sollten Sie ?android:colorPrimary verwenden. Sie können Ihre eigenen Attribute hinzufügen, auf die Sie in Ihrer attrs.xml-Datei verweisen können. Wenn Sie auf die Themenelemente per Code zugreifen müssen, ist dies eine Möglichkeit:

TypedValue value = new TypedValue(); 
boolean success = getContext().getTheme().resolveAttribute(android.R.attr.colorPrimary, value, true); 
int color = value.data;