在Android风格活动中没有根据风味改变。仅调用主程序包活动

时间:2017-09-25 12:02:05

标签: android android-gradle android-productflavors

我已经创建了2种口味(一种和两种)和一种主包,正如你在我分享的图像中看到的那样。这三种风格分别有三个MainActivity.class。 当我改变风味时,我试图从MainActivity.class改变textView内容的风格,但它没有改变。只根据风味而不是类来替换布局。

例如,我将当前风味设置为一个,并将textView内容设置为"一个"来自MainActivity.class的它没有被改变,但它需要主包的MainActivity.class,并且布局是根据风格进行的。

项目结构图像

enter image description here

2 个答案:

答案 0 :(得分:3)

  

只根据风味而不是类来替换布局。

因为每次都使用“main”的MainActivity.java。

其他两个模块中的包名必须相同。

不替换Java文件,因此可以删除“main”的MainActivity。

答案 1 :(得分:0)

为您的特定风味创建清单文件,该文件将覆盖风味的新活动,如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">

<application>


    <!-- Tutorial activity -->
    <activity android:name="com.colan.flavortest.MainActivity" />
    <activity
        android:name="com.colan.newtwo.MainActivity"
        tools:node="remove" />
    <activity-alias
        android:name="com.colan.newtwo.MainActivity"
        android:targetActivity="com.colan.flavortest.MainActivity"
        tools:replace="android:targetActivity"/>

</application>
</manifest>