如何在style.xml中将新库的样式称为父类?

时间:2018-06-11 11:46:34

标签: android themes android-theme android-library android-styles

我正在构建一个新的Android库和一个我用来测试库的演示项目。 我制作的库有一个名为 Light 的样式,在演示中我使用setTheme(R.style.Light)在Java中应用这种样式,但我想替换它直接在style.xml中调用主题。我现在在demo / res / values / style.xml中的内容是

<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">

我想用类似的东西替换它:

<style name="AppTheme" parent="myLibrary.Light">

我尝试过使用parent="@style/Light",但它没有用。 有谁知道我怎么做?

2 个答案:

答案 0 :(得分:0)

要从库或您自己的项目继承样式,请声明不带@android:style / part的父样式名称。例如,以下示例从支持库继承文本外观样式:

<style name="GreenText" parent="TextAppearance.AppCompat"> <item name="android:textColor">#00FF00</item> </style> For more details

答案 1 :(得分:0)

我找到了解决方案, 我的问题是,在我的库中,根据Android的版本我有不同的样式。对于Android的每个版本,我的主题被错误地引用给不同的父母。我刚刚更改了我的库中的父母,确保他们指的是同一个,这解决了我的问题。现在在我的应用程序中,我可以参考我的库中创建的主题而不会崩溃应用程序。