现在,我将每个 XML 布局文件都存储在 ‘res/layout’ 文件夹中,因此管理小型项目是可行且简单的,但是当有大型和繁重项目的情况下,则应该有一个层次结构和布局文件夹内需要的子文件夹。
例如
layout -- layout_personal -- personal_detail.xml -- personal_other.xml --layout_address -- address1.xml -- address2.xml
就像同样的方式,我们希望为大型应用程序提供子文件夹,那么在 Android 项目中有没有办法做到这一点?
我可以在 layout 文件夹中创建 layout-personal 和 layout_address 子文件夹,但是当需要使用 R.layout._ 访问 XML 布局文件时,当时没有任何 XML 布局弹出窗口菜单。
你可以用 gradle 做到这一点。我制作了一个演示项目来展示如何。
诀窍是利用 gradle 的能力来合并多个资源文件夹,并在 sourceSets 块中设置 res 文件夹以及嵌套的子文件夹。
怪癖是您不能在声明该文件夹的子资源文件夹之前声明容器资源文件夹。
下面是演示中 build.gradle 文件中的 sourceSets 块。请注意,首先声明子文件夹。
sourceSets { main { res.srcDirs = [ 'src/main/res/layouts/layouts_category2', 'src/main/res/layouts', 'src/main/res' ] } }
此外,您的实际资源文件(png、xml 布局等)的直接父级仍然需要与规范相对应。