Android Studio中Add Contact的activity.xml文件格式异常排查求助
问题排查与修复
你当前的布局存在2个明显问题,调整后即可匹配预期效果:
- 根布局
ConstraintLayout重复声明了xmlns:app命名空间,会干扰约束规则解析 - 所有输入控件未设置上下边距,导致全部紧贴屏幕顶部堆叠
修正后完整代码
<?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" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".Add_Contact"> <EditText android:id="@+id/etName" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="16dp" android:layout_marginTop="24dp" android:ems="10" android:hint="@string/name" android:inputType="textPersonName" android:autofillHints="" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> <EditText android:id="@+id/etEmail" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="16dp" android:layout_marginTop="16dp" android:ems="10" android:hint="@string/email" android:inputType="textEmailAddress" android:autofillHints="" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/etName" /> <EditText android:id="@+id/etPhone" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginHorizontal="16dp" android:layout_marginTop="16dp" android:ems="10" android:hint="@string/phone" android:inputType="phone" android:autofillHints="" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/etEmail" /> <Button android:id="@+id/btnAdd" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="20dp" android:text="@string/add_contact" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toBottomOf="@+id/etPhone" /> </androidx.constraintlayout.widget.ConstraintLayout>
修改说明
- 删除了重复的
xmlns:app声明 - 给所有EditText增加了左右边距,避免控件贴满屏幕宽度
- 给第一个EditText增加了顶部边距,避免紧贴状态栏下方
- 给后续每个输入控件增加了16dp的顶部间距,拉开控件之间的距离
内容的提问来源于stack exchange,提问作者André_Almeida
相关产品推荐
相关产品推荐

