Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android Studio中定制的产品风格?_Android_Xml_Gradle_Styles_Themes - Fatal编程技术网

Android Studio中定制的产品风格?

Android Studio中定制的产品风格?,android,xml,gradle,styles,themes,Android,Xml,Gradle,Styles,Themes,我有一个具有多种产品风格的模块(本例中为“foo”)。基本主题(样式)在模块中定义 现在,我的想法是通过在#flavor#/res/values/文件夹中添加一个styles.xml来修改每种风格的主题,并使用库项目机制扩展该风格,就像我以前在Eclipse中所做的那样。但很明显,整个样式被覆盖了。我的意图是,gradle正在正确地将文件合并在一起 MyApp 应用程序 src main 爪哇 res\value main_styles.xml foo 爪哇 res\value

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

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

  • MyApp
    • 应用程序
    • src
      • main
        • 爪哇
        • res\value
          • main_styles.xml
      • foo
        • 爪哇
        • res\value
          • foo_styles.xml
主要风格:


头衔
副标题

foo_风格:


@颜色/食物

我所期望的是:


头衔
副标题
@颜色/食物

我得到的是:


@颜色/食物


有什么建议吗?

他们只有在同名的情况下才会合并。将它们都称为
style.xml


编辑:您似乎无法:

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

//AndroidManifest.xml
//src/main/res/values/styles.xml
头衔
副标题
//src/foo/res/values/styles.xml
@颜色/食物

如果两个文件名相等,则会出现相同的问题:-/Hmmm。。。看来你不能:我认为这是可能的,用这个:
<style name="Theme.Main" parent="android:Theme.Light">
    <item name="android:title">A title</item>
    <item name="android:subtitle">A subtitle</item>

</style>
<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>
// 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>