2016-02-10 11 views
9

colorPrimary属性とcolorPrimaryDark属性を持つ独自のアクティビティを持つライブラリがあります。このライブラリを使用しているアプリケーションでは、これらの色属性に異なる値があります。独自のアクティビティを持つライブラリのスタイルをオーバーライドする方法

呼び出し側アプリケーションによって提供されるスタイルをライブラリで使用する方法はありますか?

最後に、アプリに緑のツールバーがある場合、ライブラリのアクティビティには、ライブラリのテーマで定義されているものではなく、緑色のツールバーが表示されます。

これは、ライブラリのテーマです:

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

そして、これは、サンプルアプリのメインテーマである「colorPrimary」は同じ値を使用する場合は

<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> 

答えて

1

- ライブラリーprimaryColorの値が、その後、@color/primaryColorをサンプルアプリケーションでprimaryColorによって上書きされます。

あなたは例えば、ライブラリやアプリで「colorPrimary」のための異なる値、使用する場合 - その後、色が異なることになる@color/libPrimaryColor@color/appPrimaryColor

関連する問題