本文同步自我的个人小屋,欢迎来访交流
在Android开发中,我们通常会根据模块或者功能把code 放置的不同的目录下,那layout文件是否也可以执行同样的操作呢?
当App越来越大时,layout和drawable文件夹中可能存放很多文件,尽管可以根据名称的不同(例如在文件名里加前缀或后缀)区分,但是当文件有很多时,在开发中仍然不方便,把各种资源放置在不同的文件夹下将是一个明智的选择。
这里提供一种方法,可以根据功能划分成不同的文件夹,将同一个功能的layout文件或drawable资源文件放在不同的文件夹中
拿layout文件来举例
1. 切换到Project View
2. 备份 layout文件夹,然后将其删除
选中layout文件夹,右键选择删除,或按delete键删除
3. 新建 文件夹 命名为layouts,在layouts文件夹下新建不同分类的子文件夹
4. 上述步骤也可简化为 直接在layout文件夹中建子文件夹
5. 关键!在对应module的build.gradle中配置sourceSet路径
sourceSets {
main {
res.srcDirs =
[
'src/main/res/layouts/layout_other',
'src/main/res/layouts/layout_main',
'src/main/res/layouts',
'src/main/res'
]
}
}
OR
sourceSets {
main.res.srcDirs = [
'src/main/res/layouts/layout_other',
'src/main/res/layouts/layout_main',
'src/main/res/layouts',
'src/main/res'
]
}
_ 这里要注意要注册所有的子文件夹,然后src/main/res/layouts需要放置在倒数第二个,src/main/res放置在倒数第一个。_
6. 最后,Sync Project 或 重新 build 一下 即可。
以此类推,同样的drawable文件也是
像这样:
不过我不常用,主要是分layout文件夹 _