此处不允许元素按钮
Element Button is not allowed here
我在 resources/layout 文件夹中创建了一个 fragment_b.xml 文件。在我的两个按钮上,我收到以下警告:
Element Button is not allowed here
为什么会弹出这个警告?我的代码运行良好。
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>
尝试将其更改为:
androidx.appcompat.widget.AppCompatButton
或
com.google.android.material.button.MaterialButton
如果您没有将 androidx ConstraintLayout 库添加为 gradle 文件中的依赖项,就会发生这种情况。
在您的 app/build.gradle 文件中,在 dependencies
块中添加:
dependencies {
// ...
implementation "androidx.constraintlayout:constraintlayout:2.0.0-beta3"
}
当然你可以使用不同的库版本,但是 androidx.constraintlayout:constraintlayout:
部分很重要。
完成后,执行 gradle 同步并重建您的项目,警告应该会消失。
我在 resources/layout 文件夹中创建了一个 fragment_b.xml 文件。在我的两个按钮上,我收到以下警告:
Element Button is not allowed here
为什么会弹出这个警告?我的代码运行良好。
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>
尝试将其更改为:
androidx.appcompat.widget.AppCompatButton
或
com.google.android.material.button.MaterialButton
如果您没有将 androidx ConstraintLayout 库添加为 gradle 文件中的依赖项,就会发生这种情况。
在您的 app/build.gradle 文件中,在 dependencies
块中添加:
dependencies {
// ...
implementation "androidx.constraintlayout:constraintlayout:2.0.0-beta3"
}
当然你可以使用不同的库版本,但是 androidx.constraintlayout:constraintlayout:
部分很重要。
完成后,执行 gradle 同步并重建您的项目,警告应该会消失。