Android:四种风格中的两种活动

时间:2016-04-04 15:06:41

标签: android

我有一个仅用于四种不同风格中的两种的活动。是否可以在Android中使用flavor,以便此活动仅分配给两种口味?

1 个答案:

答案 0 :(得分:0)

您可以为每种风格定义自定义源文件位置。例如

productFlavors {
    flavor2 {
    }
    flavor1 {
    }
}

sourceSets{
    main {
    manifest.srcFile 'AndroidManifest.xml'
 }

flavor2 {
    manifest.srcFile 'AndroidManifest-flavor2.xml'
    res.srcDirs = ['res-flavor2', 'res']
    java.srcDirs = ['src/flavor2/java','src/java']
}

flavor1 {
    manifest.srcFile 'AndroidManifest.xml'
    java.srcDirs = ['src/flavor1/java','src/java']
}

虽然这是可能的,我强烈建议你避免使用这种方法,因为如果你想将一些功能从一种味道导入到另一种味道,那么导入部分将是一个地狱。

此外,这可能会给代码带来很多复杂性,因为最终可能会创建大量不容易维护的if (flavor1)... else if (flavor2)..代码。

一个简单的解决方案,总是最好的。请考虑以下内容。

  1. 将您的架构拆分为submodules。您的主模块将包含公共代码。
  2. 为要添加的不同功能创建libray模块。
  3. 为每个模块使用Git repositoriesbranches,以便增加控制权和备份更改
  4. 我希望这能为您提供一个创建可维护结构的起点。