【问题标题】:Custom styles of product flavors in Android Studio?Android Studio 中产品风格的自定义样式?
【发布时间】:2023-03-06 20:57:01
【问题描述】:

我有一个包含多种产品风格的模块(本例中为“foo”)。基本主题(样式)在模块中定义。

现在我的想法是修改每个风格的这个主题,通过在#flavor#/res/values/ 文件夹中添加一个styles.xml 并扩展风格,就像我之前在Eclipse 中所做的那样,使用库项目机制。但显然完整的样式被覆盖了。我的意图是,gradle 正在正确地将文件合并在一起。

  • 我的应用程序
    • 应用程序
      • 主要
        • java
        • 资源\值
          • ma​​in_styles.xml
        • java
        • 资源\值
          • foo_styles.xml

主要样式:

<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:title">A title</item>
    <item name="android:subtitle">A subtitle</item>

</style>

foo_styles:

<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:background">@color/foo</item>
</style>

我的期望:

<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:title">A title</item>
    <item name="android:subtitle">A subtitle</item>
    <item name="android:background">@color/foo</item>
</style>

我得到了什么:

<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:background">@color/foo</item>
</style>

有什么建议吗?

【问题讨论】:

标签: android xml gradle styles themes


【解决方案1】:

只有同名时才会合并。打电话给他们styles.xml

编辑:看来你不能:https://groups.google.com/forum/#!topic/adt-dev/sQTsk35U7Ic

【讨论】:

【解决方案2】:

合并是不可能的,但通过这种方式可以达到相同的效果(AndroidManifest 指的是 foo,foo 指的是 main,main 指的是 android:Theme.Light)...

// AndroidManifest.xml
<application ... android:theme="@style/MyStyleFoo" ...>
// src/main/res/values/styles.xml
<resources>
    <style name="MyStyleMain" parent="android:Theme.Light">
        <item name="android:title">A title</item>
        <item name="android:subtitle">A subtitle</item>
    </style>
</resources>
// src/foo/res/values/styles.xml
<resources>
    <style name="MyStyleFoo" parent="MyStyleMain">
        <item name="android:background">@color/foo</item>
    </style>
</resources>

【讨论】:

    猜你喜欢
    • 2023-03-17
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2016-08-06
    • 1970-01-01
    • 1970-01-01
    • 2013-10-01
    相关资源
    最近更新 更多