简评:清晰的资源目录结构能节省你的时间,时间就是金钱。
相信每一位 Android 开发者对于这样的项目目录都已经非常熟悉了,虽然 Android Studio 内置了文件搜索功能,但当项目文件数量快速增长,文件导航还是会变得非常麻烦。
当你应用的某些界面用到了大量的 layout, drawable, dimension 资源时,为这些界面单独的创建资源文件夹就变得很有意义了。
可以从图中看到我们有 res-main 和 res-screen 两个资源文件夹:
- res-main 中包含的是在多个界面上使用的公共资源。
- res-screen 中包含特定界面的资源文件夹。 比如:about, chat, event details, event list, home, login...
那么怎么声明这分离出来的 res-screen 呢?在应用 module 的 build.gradle 里这样来声明:
sourceSets {
main {
res.srcDirs = [
'src/main/res-main',
'src/main/res-screen/about',
'src/main/res-screen/chat',
'src/main/res-screen/event-detail',
'src/main/res-screen/event-list',
'src/main/res-screen/home',
'src/main/res-screen/login',
]
}
}
如果觉得一行行直接列出来太麻烦的话,可以选择这样写:
sourceSets {
main {
file('src/main/res-screen')
.listFiles()
.each { res.srcDirs += it.path }
}
}
如果你有一个大型项目,也对于繁杂的资源文件目录感到头疼的话,不妨试试这样根据不同的界面来组织项目的资源目录。: )
日报延伸阅读:
欢迎关注: