我在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>
答案 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