Android版式文件夹能够包含子文件夹吗?

如今,我将每一个xml布局文件存储在res/layout文件夹中,所以管理小型项目既可行又简单,可是,在有大型项目的状况下,应该有一个层次结构和一个子目录,布局文件夹中所需的文件夹。 html

例如 android

layout
-- layout_personal
   -- personal_detail.xml
   -- personal_other.xml
--layout_address
  -- address1.xml
  -- address2.xml

一样,咱们想为大型应用程序提供子文件夹,那么在android项目中有没有办法作到这一点? git

我能够在layout文件夹中建立layout-personal和layout_address子文件夹,可是当须要使用R.layout ._______访问xml布局文件时,那时在xml目录中没有任何xml布局弹出窗口。菜单。 github


#1楼

我认为解决此问题的最佳方法(假设不容许使用子文件夹)是在文件名前加上您要放置在其中的文件夹的名称。 例如,若是您有许多用于“活动”,“片断”或只是“视图”的通用视图的布局,则应在其前面加上places_my_layout_name。 至少这解决了以在IDE中更容易找到它们的方式来组织它们的问题。 这不是最棒的解决方案,但总比没有好。 bash


#2楼

如今,借助Android Studio和Gradle,您能够在项目中拥有多个资源文件夹。 不只能够组织布局文件,还能够组织任何类型的资源。 ide

它不彻底是子文件夹,但能够分离应用程序的各个部分。 布局

配置以下: gradle

sourceSets {
    main {
        res.srcDirs = ['src/main/res', 'src/main/res2']
    }
}

检查文档ui


#3楼

你能够用gradle作到这一点。 我作了一个演示项目,展现了如何。 spa

诀窍是利用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布局等)的直接父级仍须要与规范相对应。


#4楼

检查将文件夹层次结构转换为单个文件夹的Bash Flatten Folder脚本


#5楼

好吧,简短的答案是没有。 可是您绝对能够有多个res文件夹。 我认为,这与layout文件夹的子文件夹尽量接近。 这是您的操做方式。

相关文章
相关标签/搜索