【问题标题】:Creating sub folders within 'layout' res folder在“布局”资源文件夹中创建子文件夹
【发布时间】:2018-08-22 14:35:43
【问题描述】:

我在 res-layout 目录中创建了子目录“缓存”,当我在缓存中放置一个 XML 文件时,它抱怨“URI 未注册”。

我在网上查了一下,有人说不建议用layout创建子目录,有人建议在build.gradle中添加以下代码。

应用程序:build.gradle

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

我的结构

--res
   --layout
      --caching
          cache_save_layout.xml

发生错误的地方——“http://schemas.android.com/apk/res/android”——URI未注册

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical" android:layout_width="match_parent"
    android:layout_height="match_parent">

</LinearLayout>

您能否建议解决此问题的正确方法。

提前致谢 回复

【问题讨论】:

标签: android layout android-gradle-plugin


【解决方案1】:

尝试关注

sourceSets {
    main {
        res.srcDirs =
                [
                        'src/main/res/layouts/activity',
                        'src/main/res/layouts/fragment',                          
                        'src/main/res'
                ]
    }
}

你的结构应该是这样的:

--res 
    --layouts
        --activity
           --layout
              --main_activity.xml
        --fragment
           --layout
              --main_fragment.xml

【讨论】:

  • 请不要对您编写的任何和所有文本使用引号格式。它是用来引用的,因此名称....