我正在处理一个包含大量.xml布局文件的项目。我想在单独的文件夹中组织它们。
似乎资源合并将是正确的解决方案。
http://tools.android.com/tech-docs/new-build-system/resource-merging
我想在活动,列表视图,对话框,按钮等中拆分布局文件夹。
如何修改我的项目和build.gradle文件来完成此任务?
答案 0 :(得分:5)
资源合并实际上并不是您正在寻找的概念 - 该文档指定了如何拥有多种构建类型和风格,它们如何组合以提供将构建到项目中的项目资源的单一视图最后结果。在您的情况下,您可能只有一个构建类型和风格,并且希望在您的资源中包含子目录以帮助更好地组织它们。
坏消息是Android对此并不十分友好。构建系统期望资源以严格的格式排列,例如,所有布局都位于项目根目录下的单个文件夹中,并且它不会让您偏离它。您可以做的最好的事情是拥有多个资源文件夹树,如下所示:
AppModule
+ src
+ main
+ java
+ res
+ drawable
+ layout
+ ...etc...
+ extra-res
+ drawable
+ layout
+ ...etc...
每个资源子树的子目录都采用相同的格式。如果子目录是空的,则不需要在其中有详尽的子目录列表;只包括那些你需要的东西。
要使其工作,您需要在build.gradle脚本中包含以下内容:
android {
sourceSets {
main {
res.srcDirs = ['src/main/res', 'src/main/extra-res']
}
}
}