我正在为 Android 构建一个新库和一个用于测试库的演示项目。 我制作的库有一个名为Light的样式,在演示中,我使用setTheme(R.style.Light)
在 Java 中应用这种样式,但我想替换它,直接在 style.xml 中调用主题。我现在在演示/res/values/style中拥有的是.xml
<style name="AppTheme" parent="Theme.AppCompat.NoActionBar">
我想用类似于以下内容的内容替换它:
<style name="AppTheme" parent="myLibrary.Light">
我已经尝试过parent="@style/Light"
但它不起作用。 有谁知道我该怎么做?
若要从库或您自己的项目继承样式,请声明父样式名称,而不使用 @android:style/部件。例如,下面的示例从支持库中继承文本外观样式:
<style name="GreenText" parent="TextAppearance.AppCompat">
<item name="android:textColor">#00FF00</item>
</style>
更多详情
我找到了解决方案, 我的问题是,在我的库中,根据Android的版本,我有不同的风格。对于每个版本的Android,我的主要主题被错误地提到了不同的父母。我刚刚更改了图书馆中的父母,确保他们指的是同一个父母,它解决了我的问题。现在,在我的应用程序中,我可以引用在我的库中创建的主题,而不会使应用程序崩溃。