Android资源能否按层级文件夹存储以提升项目可读性?
Android 资源文件夹分层管理方案
管理/res/下的大量资源确实麻烦,以下两种方法可以实现类似源码包的层级整理:
一、Android Studio 虚拟分组(无需修改物理结构)
这是最简单的方式,不用改磁盘文件位置,仅在IDE中按层级展示:
- 右键点击目标资源文件夹(比如
drawable),选择New -> Directory - 输入层级路径(例如
icons/navigation),Android Studio会自动创建虚拟层级结构 - 资源引用依然用
@drawable/xxx,完全不用修改现有代码
二、物理层级文件夹(需配置Gradle)
如果需要在磁盘上也保持分层结构,可在模块的build.gradle(Module级)中添加配置:
android { sourceSets { main { res.srcDirs = [ 'src/main/res', 'src/main/res/drawables/icons/navigation', 'src/main/res/drawables/icons/action', // 按需添加更多自定义资源目录 ] } } }
配置后,每个子目录都会被Gradle识别为独立的资源目录,资源引用规则不变,依然是@drawable/xxx。
注意事项
- 所有资源文件名不能重复,否则会触发编译冲突
- 虚拟分组适合快速整理,物理层级适合需要严格磁盘文件结构的场景
mipmap文件夹同样适用上述两种方法
内容的提问来源于stack exchange,提问作者VSB
相关产品推荐
相关产品推荐

