看着办呗
有时候,写个项目可能layout文件太多,又或是drawable里面文件太多,想分文件夹放置,这样项目清晰些。
但是怎么做呢??当然是用gradle啦
哎。。网上的东西看得累啊
讲一个问题要具体化才能帮助理解
举个例子:
需求:我现在layout文件太多了,想把很多layout文件分开放,一个文件夹中的东西太多了
先在这个module下根目录建立个文件夹叫“suibianqimingqi”(随便起名字)
在module下的build.gradle文件下添加如下代码
android {
sourceSets{
main{
res.srcDirs = [ //这是个方括号
'src/main/res', //默认只有这一个路径
'suibianqimingzi' //这个就是告诉gradle在编译的时候到这个文件夹找资源文件
]
}
}
}
或者你可以这么写
android {
sourceSets{
main{
res.srcDirs += ['suibianqimingzi']
//res.srcDirs += "suibianqimingzi" //一个路径就可以忽略掉方括号,双引号和单引号也无所谓
}
}
}
同步之后,然后你会发现你的“随便起名字”文件夹图标变了
-
然后在“suibianqimingzi”这个文件夹下新建一个文件夹名为“layout”
这样suibianqimingzi/layout 这个文件夹下的layout文件就能正确的使用了
- 或者在“suibianqimingzi”这个文件夹下新建一个文件夹名为“drawable”
这样suibianqimingzi/drawable文件夹下的图片就能正确的使用了
- 或者values,color。。。。。。文件夹都一样
让我们来分析下上面这个例子:
通过上面的例子,我们可以看出:
- 这个代码实际上是添加了一个目录作为各种资源文件夹的总目录
res.srcDirs += ['suibianqimingzi'] //这个目录名字可以随便取,只要不是特殊符号或者中文就行
++suibianqimingzi++ 文件夹下放置的“layout”子文件夹,“drawable”子文件夹,“mipmap”子文件夹等都可以被正常识别(注意:这个子文件夹的名字已经被规定好了,不能随意更改)
- 指定资源目录的位置可以随便放
只要在这个module的根目录下,放哪都无所谓
res.srcDirs += ['src/main/suibian'] //目录放哪都行
- 指定资源目录下的子目录名字不能随便取
放图片的文件夹必须叫 “src/main/suibian/drawable”
(或者src/main/suibian/mipmap也行。。。或者src/main/suibian/drawable-hdpi也行。。。。或者。。。。妈的总之文件夹的命名规则和原来一样)
-
在andorid视图下文件还是混在一起,其实并没什么卵用
当然通过这个例子,你可以知道用这种方法不但能够配置资源文件
- 可以配置java文件 :
java.srcDirs =['xxxx','yyyy','zzzz']
- 可以配置assets文件
assets.srcDirs =['xxxx','yyyy','zzzz']
- 可以配置manifest文件
manifest.srcFile = “我是傻逼.xml”
目前我只知道这么多了