【问题标题】:How can I call the style of a new Library as parent in style.xml?如何在 style.xml 中将新库的样式称为父级?
【发布时间】:2018-06-11 11:46:34
【问题描述】:

我正在为 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",但它不起作用。 有谁知道我该怎么做?

【问题讨论】:

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


    【解决方案1】:

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

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

    【讨论】:

    • 那是自定义一个我已经在我的库中做的默认主题。我在问是否可以用我的库中的主题替换样式中的“父”,然后使用 Android 中的默认主题。
    【解决方案2】:

    我找到了解决方案, 我的问题是,在我的库中,我有不同的样式,具体取决于 Android 的版本。对于每个版本的 Android,我的主题都被错误地提到了不同的父母。我刚刚改变了我图书馆里的父母,确保他们指的是同一个,这解决了我的问题。现在在我的应用程序中,我可以引用在我的库中创建的主题,而不会导致应用程序崩溃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-20
      • 1970-01-01
      • 2013-05-12
      • 1970-01-01
      • 2021-07-10
      • 1970-01-01
      • 1970-01-01
      • 2020-03-29
      相关资源
      最近更新 更多