android - Android布局文件夹可以包含子文件夹吗?

标签 android xml android-layout gradle build.gradle

现在,我将每个 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'
        ]
    }
}

nested resources picture

此外,您的实际资源文件(png、xml 布局等)的直接父级仍然需要与 specification 对应。 .

关于android - Android布局文件夹可以包含子文件夹吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4930398/

相关文章:

mysql - 使用 XPath 和编码导入 xml

Android Studio 3.0 布局预览渲染问题

android - CardView如何显示多列?

android - 为什么 SQLiteDatabase 的 getMaximumSize() 方法返回 1 TB?

java - 如何解析蓝牙服务的128位uuid?

python - 合并 XML 文件类似于 ConfigParser 的多文件支持

android - API 7 的空 Activity ?

Android Beta 测试社区中的测试人员收到不同的版本

android - 无法在 LinearLayout 内 WRAP_CONTENT RecyclerView

c++ - 在 C++ 中读取配置 xml 文件