我正在构建一个新的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"
,但它没有用。
有谁知道我怎么做?
答案 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的每个版本,我的主题被错误地引用给不同的父母。我刚刚更改了我的库中的父母,确保他们指的是同一个,这解决了我的问题。现在在我的应用程序中,我可以参考我的库中创建的主题而不会崩溃应用程序。