此处不允许元素按钮

时间:2019-12-13 12:05:21

标签: android xml layout android-resources

我在resources / layout文件夹中创建了fragment_b.xml文件。在两个按钮上,我收到以下警告:

  

此处不允许使用元素按钮

为什么会弹出此警告?我的代码运行正常。

fragment_b.xml:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <androidx.constraintlayout.widget.ConstraintLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintEnd_toEndOf="parent">

        <Button
            android:id="@+id/btn_fragment_b"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/go_to_fragment_c"
            app:layout_constraintBottom_toTopOf="@id/btn_nagivate_to_fragment_f"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            />

        <Button
            android:id="@+id/btn_nagivate_to_fragment_f"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/go_to_fragment_f"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintTop_toBottomOf="@id/btn_fragment_b"
            android:layout_marginTop="@dimen/a_lot_of_margin"/>

    </androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>

2 个答案:

答案 0 :(得分:1)

如果在gradle文件中没有添加androidx ConstraintLayout库作为依赖项,则会发生这种情况。

在您的app / build.gradle文件的dependencies块中,添加以下内容:

dependencies {
    // ...
    implementation "androidx.constraintlayout:constraintlayout:2.0.0-beta3"
}

您当然可以使用其他版本的库,但是androidx.constraintlayout:constraintlayout:部分很重要。

完成后,进行gradle同步并重建项目,警告就会消失。

答案 1 :(得分:0)

尝试将其更改为:

androidx.appcompat.widget.AppCompatButton

com.google.android.material.button.MaterialButton