现在,我将每个 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 做到这一点。我做了一个demo project展示如何。
诀窍是利用 gradle 的能力来 merge multiple resource folders ,并在 sourceSets block 中设置 res 文件夹以及嵌套的子文件夹。
奇怪的是,您不能在声明容器资源文件夹之前声明该文件夹的子资源文件夹。
以下是演示中 build.gradle 文件中的 sourceSets block 。请注意,首先声明子文件夹。
sourceSets {
main {
res.srcDirs =
[
'src/main/res/layouts/layouts_category2',
'src/main/res/layouts',
'src/main/res'
]
}
}
此外,您的实际资源文件(png、xml 布局等)的直接父级仍然需要与 specification 对应。 .
关于android - Android布局文件夹可以包含子文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930398/