找不到元素的声明' android.support.constraint.ConstraintLayout'

时间:2018-04-27 13:27:04

标签: android android-layout android-studio

我创建了一个名为activity_main(sw50dp)的xml文件,但是当我尝试验证它时,它会给我错误:

  

错误:(4,42)cvc-elt.1.a:找不到元素声明' android.support.constraint.ConstraintLayout'。

C:\Program Files\Android\Android Studio\lib\idea.jar!\standardSchemas\xhtml1.dtd

Error:(26, 3) The markup in the document preceding the root element must be well-formed.

activity_main file

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/images"
tools:context=".MainActivity">

<Button
    android:id="@+id/buttonDiv"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginStart="320dp"
    android:layout_marginTop="340dp"
    android:background="@drawable/circle"
    android:text="÷"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button

    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="220dp"
    android:layout_marginStart="100dp"
    android:background="@drawable/oval"
    android:text="2"
    app:layout_constraintLeft_toRightOf="@+id/button1"
    app:layout_constraintStart_toEndOf="@+id/button1"
    app:layout_constraintTop_toTopOf="@+id/button1" />

<Button
    android:id="@+id/button1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="320dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="118dp"
    android:background="@drawable/oval"
    android:text="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/buttonReset"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="320dp"
    android:layout_marginRight="0dp"
    android:layout_marginTop="45dp"
    android:background="@drawable/oval"
    android:text="C"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/textNum"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="100dp"
    android:layout_marginStart="100dp"


<Button
    android:id="@+id/button5"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginEnd="220dp"
    android:layout_marginStart="100dp"
    android:background="@drawable/oval"


</android.support.constraint.ConstraintLayout>

activity_main(sw50dp)文件

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

我还创建了其他布局文件,例如activity_main(normal-land)。我没有遇到任何问题。

2 个答案:

答案 0 :(得分:1)

注意:如果资源目录名称不正确,则会发生此错误。

创建目录名称的最佳程序:

  1. 执行:文件 - &gt;新 - &gt; Android资源目录
  2. 选择:最小屏幕宽度
  3. 点按“&gt;&gt;”并输入[逢低数量]
  4. 此外,将此行添加到Gradle文件可以解决类似的错误:

    
    dependencies {
        ...
        implementation 'com.android.support.constraint:constraint-layout:1.1.0'
    }
    

    之后是重新同步。

    Constraint Layout Versions

    Google Constraint Layout Sample

    Project Downloaded from Google Drive

    Project Modified Layout Directory

答案 1 :(得分:0)

在这种情况下,您可以添加行

tools:ignore =“ MissingDefaultResource”

在布局目录中拥有的布局文件的xml代码中,它应该忽略由于缺少资源而产生的错误,而这些资源对于运行应用程序而言不是必需的