2016-02-10 12 views
9

Ich habe eine Bibliothek, die ihre eigenen Aktivitäten mit ColorPrimary und ColorPrimaryDark Attribute hat. In der Anwendung, die diese Bibliothek verwendet, gibt es unterschiedliche Werte für diese Farbattribute.Wie überschreiben Stile einer Bibliothek, die ihre eigene Aktivität hat

Gibt es eine Möglichkeit, die Bibliothek dazu zu bringen, den Stil der Anruferanwendung zu verwenden?

Damit am Ende, wenn die App eine grüne Symbolleiste hat, würden die Aktivitäten in der Bibliothek eine grüne Symbolleiste haben, nicht die im Bibliotheksthema definiert.

Dies ist das Thema der Bibliothek:

<style name="LibraryTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">@color/red</item> 
    <item name="colorPrimaryDark">@color/dark_red</item> 
</style> 

Und das ist das Hauptthema des Beispiel-App:

<style name="SampleAppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> 
    <item name="colorPrimary">@color/green</item> 
    <item name="colorPrimaryDark">@color/dark_green</item> 
    <item name="colorAccent">@color/accent_color</item> 
</style> 

Antwort

1

Wenn "colorPrimary" den gleichen Wert verwenden - @color/primaryColor, dann wird der Wert der Bibliothek primaryColor wird in der Beispiel-App durch primaryColor überschrieben.

Wenn Sie unterschiedliche Werte für „colorPrimary“ in der Bibliothek und App, zum Beispiel verwenden - @color/libPrimaryColor und @color/appPrimaryColor dann werden die Farben unterschiedlich sein