Android布局文件夹是否可以包含子文件夹?
现在,我将每个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的能力来合并多个资源文件夹,并设置res文件夹以及sourceSets块中的嵌套子文件夹。
奇怪的是,在声明该文件夹的子资源文件夹之前,您无法声明容器资源文件夹。
以下是演示中build.gradle文件的sourceSets块。 请注意,子文件夹是首先声明的。
sourceSets {
main {
res.srcDirs =
[
'src/main/res/layouts/layouts_category2',
'src/main/res/layouts',
'src/main/res'
]
}
}
此外,实际资源文件(pngs,xml布局等)的直接父级仍然需要符合规范。
答案是不。
我想引起您对本书Pro Android 2的关注:
同样值得注意的是关于资源的一些限制。 首先,Android仅支持res中预定义文件夹内的线性文件列表。 例如,它不支持布局文件夹下的嵌套文件夹 (或res下的其他文件夹)。
其次,资源文件夹和res下的原始文件夹之间有一些相似之处。 这两个文件夹都可以包含原始文件,但原始文件中的文件被视为资源,而资产中的文件则不是。
请注意,由于资产文件夹的内容不被视为资源,因此您可以在其中放置任意层级的文件夹和文件 。
我只是想为有困难的人添加eskis'梦幻般的答案。 (注意:这只会在'项目'视图内看起来像单独的目录,而不幸的是'android'视图。)
测试以下内容。 BuildToolsVersion = 23.0.0 gradle 1.2.3&1.3.0
这就是我如何与已经建成的项目合作。
一旦完成,进入你的模块gradle.build文件并创建一个像这样的sourceSets定义...(确保'src / main / res / layouts'&'src / main / res'总是最下面的两个! !!就像我在下面展示的那样)。
sourceSets {
main {
res.srcDirs =
[
'src/main/res/layouts/activities',
'src/main/res/layouts/fragments',
'src/main/res/layouts/content',
'src/main/res/layouts',
'src/main/res'
]
}
}
利润$$$$
但严重的是,这是我如何运作的。 让我知道如果任何人有任何问题..我可以尝试帮助。
图片比文字更值得。
链接地址: http://www.djcxy.com/p/84749.html