如何覆盖具有自己的活动的库的样式

我有一个有colorPrimary和colorPrimaryDark属性的自己的活动库。 在使用这个库的应用程序中,这些颜色属性有不同的值。

有没有办法让图书馆使用由调用者应用程序提供的样式?

所以,最后,如果应用程序有一个绿色的工具栏,库中的活动将有一个绿色的工具栏,而不是库主题中定义的。

这是图书馆的主题:

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

这是示例应用程序的主要主题:

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

Related of "如何覆盖具有自己的活动的库的样式"

如果“colorPrimary”将使用相同的值 – @ color / primaryColor,那么library primaryColor的值将被示例应用程序中的primaryColor覆盖。

如果您将在库和应用程序中使用“colorPrimary”的不同值,例如@ @ color / libPrimaryColor和@color / appPrimaryColor,则颜色将会不同