【AndroidStudio】分类整理Layouts中的布局文件
阅读数:
好吧,这个功能需求也是因为作为一个重度强迫症患者,非常想要把layouts中的文件分类整理下。否则看到一堆Activity和Fragment等文件混在一起特别难受。更重要的原因是,如果你的工程交给别人维护,别人看到一堆布局文件压根不知道从哪里下手。又是经过一番折腾,总算把文件的布局整理成我想要的样子了。
先来看一张效果图:
下面我们就来详细看下如何实现的吧!
说到布局文件的整理,一般有两种:
- 按照文件类型:基本上分为Activity、Fragment和views等
- 按照页面类型:你的工程有几个大的页面,每个页面下面又有多少个子页面,可以按照这种模块的方式分类整理下。
当然本文中介绍的就是采用第二种方式。
说点题外话,我最开始的时候在StackOverFlow上面搜到了两种方法,一种方法是用一个plugin:
I use Android File Grouping plugin for Android Studio.It doesn’t really allows you to create sub-folders, but it can DISPLAY your files and resources AS they are in different folders. And this is exactly what I wanted.
You can install “Android File Grouping” plugin by Android Studio -> File -> Settings -> Plugins.
但是这种方法经过实际认证,好像在1.3版本之后的AS就不能用了。下图就是我安装的版本,看到安装了之后,左侧的导航栏中根本没有other setting的入口。
我还专门去问了这个插件的开发者,告诉他我的1.4.1版本的AS没有效果,然后作者给我推荐了另外一种方法,可能稍微麻烦一点,但是确实有效。其实也是在StackoverFlow中赞同数比较高的回答。下面我们就详细一步一步来吧:
- 先说一个大前提,这种方法必须要你的AS设置成Project模式,而不是Android模式
- 把你的整个Layouts文件夹拷贝出来做一个备份(备份永远是我们在做尝试之前最重要的一件事情!!我一般习惯把整个工程也备份一下)
- 整个删除你的Layouts文件夹(确保你至少做了第1步的文件夹备份)
- 右键你的res文件夹,然后New –> directory
- 命名为Layouts(其实你也可以起成另外的名字,无关紧要了)
- 右键你刚建好的Layouts文件夹,New –> directory(这里面就要建我们说的第1层目录了,按照我的习惯,这一层的文件夹就是我们的工程的几大模块的分类了。当然你也可以按照Activity和Fragment来命名)。
这里插播一下,我当时直接在AS中操作的话,是会出现新建的目录是Layouts.mainpage.layout的格式,而不是用树形结构一层层打开的,后来我就直接在电脑的文件系统中手动新建文件夹,目的是一样的 - 在你第5步新建好的文件夹中继续新建一个文件夹,命名为layout。 这一步骤非常重要!这一步骤非常重要!这一步骤非常重要!
- 从第1步备份的文件中把相应的文件拷贝到这个layout文件夹中
- 重复第5到第7步,把所有的布局文件分类存放好。
- 打开build.gradle文件(注意这里会有两个build.grade文件,我们要改变的是工程里面的那个),然后添加进去下面的代码:
1 | sourceSets { |
添加后的build.gradle文件类似这个样子
需要特别注意的是:代码中一定要把 src/main/res/layouts
和 src/main/res
两行代码写在最后面!!!
最后重启一下AS应该就ok了~