今天来聊聊关于将Android应用程序的布局文件的存放,因为开发过程中发现有时候在同一个文件夹中存放了太多布局文件会造成很多麻烦。如果你的项目有超过30个布局,想要查找一个布局文件会让很头疼。这个问题的解决方案就是将它们分散在不同的文件夹中,gradle给我们提供了这项便利,可以将布局文件夹映射到多个文件夹当中,比如分成“activity layouts”, “fragment layouts”, “adapter layouts”等文件夹的方式。这样就可以在不同的文件夹中存放我们的布局文件了,编译也不会出问题。
如下图为范例:
要如此分目录需要做一些工作:
- 在res目录中创建一个名为“layouts”的目录(Directory)
- 在layouts文件夹下创建名为activity的资源文件夹, (要创建一个资源文件夹 Resource folder 你必须选择“New -> Folder -> Res Folder”, 然后要写对目录路径“src/main/res/layouts/activity”);
- 在文件夹activity中创建目录并命名为“layout ”;
- 为fragment 和adapter 文件夹做以上1~3同样的操作;
- 将布局文件分门别类放进新的文件夹中.
最后一步不要忘了要修改我们的build.gradle文件,修改一下内容:
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
defaultConfig {
...
}
buildTypes {
...
}
sourceSets {
main {
manifest.srcFile 'src/main/AndroidManifest.xml'
java.srcDirs = ['src/main/java', 'apt_generated']
aidl.srcDirs = ['src/main.aidl', 'apt_generated']
assets.srcDirs = ['src/main/assets']
res.srcDirs =
[
'src/main/res/layouts/activity',
'src/main/res/layouts/fragment',
'src/main/res/layouts/dialog',
'src/main/res/layouts/adapter',
'src/main/res'
]
}
}
}
编译后所有链接的目录都是正常的.
不幸的是,这种解决方式仅仅只在Project透视图当中有效。
翻译来源:http://alexzh.com/tutorials/how-to-store-layouts-in-different-folders-in-android-project/