Android Studio 中产品口味的自定义样式?

Phi*_*aum 5 xml android themes styles gradle

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

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

  • 我的应用程序
    • 应用程序
    • 源文件
      • 主要的
        • 爪哇
        • 资源\值
          • main_styles.xml
        • 爪哇
        • 资源\值
          • 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>
Run Code Online (Sandbox Code Playgroud)

foo_styles:

<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:background">@color/foo</item>
</style>
Run Code Online (Sandbox Code Playgroud)

我的期望:

<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>
Run Code Online (Sandbox Code Playgroud)

我得到的:

<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:background">@color/foo</item>
</style>
Run Code Online (Sandbox Code Playgroud)

有什么建议吗?

Fif*_*eep 1

仅当它们具有相同的名称时才会合并。称呼他们两个styles.xml

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