Android Studio中的布局文件分类整理(创建子目录)

当一个项目越做越大的时候,res/layout中的布局文件就会越来越烦杂,没有层次感。而对于该问题,我们是否有更好的解决方法呢?以下主要介绍两种解决该问题的思路。

一、在res/layout中,自己手动来创建所需要分类层次。(先上张图)


1.首先就是把你的项目备份,以防万一。

2.接下来就正式如题:根据上图创建出你所需要的分类模块名,在模块名里面再创建layout目录。然后将对应的布局文件放到layout目录下即可。(这里插一下,我当时直接在AS中操作的话,是会出现新建的目录是Layouts.screencapture.layout的格式,而不是用树形结构一层层打开的,后来我就直接在电脑的文件系统中手动新建文件夹,目的是一样的)

3.配置:在module对应的build.gradle的Android目录下添加SourceSets配置:

sourceSets {
    main {
        res.srcDirs =
                [
                        'src/main/res/layouts/flexboxlayout',
                        'src/main/res/layouts/screencapture',
                        'src/main/res/layouts',
                        'src/main/res'
                ]
    }
}

需要特别注意的是:代码中一定要把 src/main/res/layouts  和 src/main/res 两行代码写在最后面!!!

对于该步骤,还有个自动添加方法,不用每次都要手动配置一次。

优化

为了解决这个问题,我在网上找了一个方法,这个方法会遍历res/layouts文件夹下面的子目录,自动生成如上图的数组,废话不多说,看代码:

def listSubFile = {
    def resFolder = 'src/main/res/layouts'
    def files = file(resFolder).listFiles()
    def folders = []
    files.each {
        item -> folders.add(item.absolutePath)
    }
    folders.add(file(resFolder).parentFile.absolutePath)
    return folders
}
sourceSets {
    main {
        res.srcDirs = listSubFile()
    }
}
通过上面这种方式,不用在每次添加新文件夹的时候都手动添加一行代码。

4.最后,保险下重启一下AS应该就ok了。


二、直接引用 Android File Grouping Plugin 插件,下载地址:点击打开链接

插件的安装步骤

  • in Android Studio: go to File → Settings → Plugins → Browse repositories and search for 插件名

or

  • in Android Studio: go to download it jar and install File → Settings → Plugins → Install plugin from disk

当你装完插件后(过程会自动重启),当你右键点击目录时,弹出的列表最顶端会多出一个“Group”条目按钮,直接点击系统就会自动帮你分类。


喜欢那一种方式,主要看个人喜爱和项目情况。最后还说一点,其实,这两种方法还可以结合一起使用


如果,上面有存在的误点,希望阅者们提出,大家共同进步大笑


参考文章:https://yq.aliyun.com/articles/11632

http://www.jianshu.com/p/09a2d13a337f

http://www.jianshu.com/p/fcc831e87b3d

猜你喜欢

转载自blog.csdn.net/ykqi_/article/details/73469742