Android 项目中把layout/drawable资源划分到不同文件夹

本文同步自我的个人小屋,欢迎来访交流

在Android开发中,我们通常会根据模块或者功能把code 放置的不同的目录下,那layout文件是否也可以执行同样的操作呢?

当App越来越大时,layout和drawable文件夹中可能存放很多文件,尽管可以根据名称的不同(例如在文件名里加前缀或后缀)区分,但是当文件有很多时,在开发中仍然不方便,把各种资源放置在不同的文件夹下将是一个明智的选择。

这里提供一种方法,可以根据功能划分成不同的文件夹,将同一个功能的layout文件或drawable资源文件放在不同的文件夹中

拿layout文件来举例

1. 切换到Project View

Studio-project-View.png

2. 备份 layout文件夹,然后将其删除

选中layout文件夹,右键选择删除,或按delete键删除

delete-layout.png

3. 新建 文件夹 命名为layouts,在layouts文件夹下新建不同分类的子文件夹

new-directory.png

4. 上述步骤也可简化为 直接在layout文件夹中建子文件夹

5. 关键!在对应module的build.gradle中配置sourceSet路径

sourceSets.png
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文件也是

像这样:

sourceSets1.png

不过我不常用,主要是分layout文件夹 _

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容