uri未注册http://schemas.android.com/apk/res/android

时间:2017-01-21 10:13:35

标签: android android-layout android-studio

我得到的uri没有在我的代码上注册。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical" >
    <ProgressBar
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:layout_gravity="center"
        android:id="@+id/progressBar1"/>

    <WebView
        android:id="@+id/webview01"
        android:layout_height="wrap_content"
        android:layout_width="fill_parent"
        android:layout_weight="1">
    </WebView> 
</LinearLayout>

我在 main / res / layout。下创建了一个目录 tabdir ,并希望在tabdir中创建xml文件。

2 个答案:

答案 0 :(得分:0)

如果您创建子目录,android studio将不会将其识别为标准资源目录。您可以通过从项目&#39;项目&#39;更改项目资源管理器模式来查看效果。到&#39; Android&#39;在Android Studio中。

enter image description here

enter image description here

好吧,如果你需要创建一个子目录,请按照this SO线程进行操作。 或者对错误的快速修正是将布局文件移动到main / res / layout目录。

答案 1 :(得分:0)

必须将新的布局文件夹添加到sourceSet,否则将无法识别架构。这里是如何为gradle的人做的事情:

项目成绩文件

sourceSets {
    main {
        //add folders following order from leafs to root. 
        res.srcDirs = [
                'src/main/res/layouts/layout_controls/layout_new_control',
                'src/main/res/layouts/layout_controls',
                'src/main/res/layouts/layout_main',
                'src/main/res']
    }

每个声明的文件夹必须至少有一个名为layout的子文件夹。

可以添加其他子文件夹以容纳新资源的不同类型的资源,就像res文件夹中有子文件夹一样,例如可以添加values子文件夹,以将字符串翻译保存在strings.xml文件中。

layout_new_control文件夹的内容类似于:

-- layout
     new_control.xml
-- values
     strings.xml

错误仅在编译后消失。

有关更多信息,请检查此guide