请告诉我的代码出错了。或者某些设置存在问题。我已经尝试过约束布局,它仍然显示类似的错误。我也检查了设备分辨率。它与预览相匹配,但仍以不同方式显示。
<RelativeLayout android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent"
android:orientation="vertical"
>
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/pr_image"
android:layout_width="115dp"
android:layout_height="90dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="144dp"
android:layout_marginTop="21dp"
android:layout_marginEnd="152dp"
android:src="@mipmap/ic_launcher_round" />
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/pr_image"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="124dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="125dp"
android:text="@string/personal_details"
android:textSize="22sp"
android:textStyle="bold" />
<EditText
android:id="@+id/pr_name"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_alignParentStart="true"
android:layout_marginStart="56dp"
android:layout_marginTop="21dp"
android:ems="10"
android:hint="@string/full_name"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/pr_email"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_below="@+id/pr_name"
android:layout_alignParentStart="true"
android:layout_marginStart="56dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:hint="@string/email"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/ed_location"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_below="@+id/pr_email"
android:layout_alignParentStart="true"
android:layout_marginStart="55dp"
android:layout_marginTop="23dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:hint="@string/location"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/pd_links"
android:layout_width="3000dp"
android:layout_height="wrap_content"
android:layout_below="@+id/ed_location"
android:layout_alignParentStart="true"
android:layout_marginStart="55dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:hint="@string/links"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/pd_mobile"
android:layout_width="300dp"
android:layout_height="wrap_content"
android:layout_below="@+id/pd_links"
android:layout_alignParentStart="true"
android:layout_marginStart="56dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:hint="@string/mobile"
android:inputType="textPersonName"
android:textSize="16sp" />
<Button
android:id="@+id/pd_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/pd_mobile"
android:layout_alignParentStart="true"
android:layout_marginStart="155dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="152dp"
android:text="@string/save" />
好的,请尝试这个编辑过的xml文件代码,因为手机屏幕尺寸不同,当你手动指定宽度并将其运行到特定的手机中时,会根据屏幕大小自行调整,这是导致屏幕混乱的主要原因所以不是手动指定宽度而是将其设置为match_parent并提供左右边距来解决您的问题:
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/pr_image"
android:layout_width="115dp"
android:layout_height="90dp"
android:layout_alignParentStart="true"
android:layout_alignParentTop="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="144dp"
android:layout_marginTop="21dp"
android:layout_marginEnd="152dp"
android:src="@mipmap/ic_launcher_round" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pr_image"
android:layout_alignParentStart="true"
android:layout_alignParentEnd="true"
android:layout_marginStart="124dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="125dp"
android:text="@string/personal_details"
android:textSize="22sp"
android:textStyle="bold" />
<EditText
android:id="@+id/pr_name"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/textView"
android:layout_alignParentStart="true"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginStart="56dp"
android:layout_marginTop="21dp"
android:ems="10"
android:hint="@string/full_name"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/pr_email"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pr_name"
android:layout_alignParentStart="true"
android:layout_marginStart="56dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="56dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:ems="10"
android:hint="@string/email"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/ed_location"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pr_email"
android:layout_alignParentStart="true"
android:layout_marginStart="55dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginTop="23dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:hint="@string/location"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/pd_links"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/ed_location"
android:layout_alignParentStart="true"
android:layout_marginStart="55dp"
android:layout_marginTop="24dp"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:hint="@string/links"
android:inputType="textPersonName"
android:textSize="16sp" />
<EditText
android:id="@+id/pd_mobile"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/pd_links"
android:layout_alignParentStart="true"
android:layout_marginStart="56dp"
android:layout_marginTop="26dp"
android:layout_marginEnd="56dp"
android:ems="10"
android:layout_marginLeft="30dp"
android:layout_marginRight="30dp"
android:hint="@string/mobile"
android:inputType="textPersonName"
android:textSize="16sp" />
<Button
android:id="@+id/pd_save"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/pd_mobile"
android:layout_alignParentStart="true"
android:layout_marginStart="155dp"
android:layout_marginTop="24dp"
android:layout_marginEnd="152dp"
android:text="@string/save" />
您在视图上使用固定大小,并且由于不同的手机屏幕大小不同,因此这种布局并不能真正响应所有设备,如果您想要完整的响应式布局,最好使用constraint layout。 如果你想使用相对布局,你最好更改你的固定尺寸,但是已经说过的约束布局是你最好的选择 - 这里是一个简单布局的例子,看起来像你想要的:
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:src="@tools:sample/avatars[5]" />
<TextView
android:id="@+id/textView8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Personal details"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/imageView" />
<EditText
android:id="@+id/editText3"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Full name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<EditText
android:id="@+id/editText"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Full Email"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText2" />
<EditText
android:id="@+id/editText4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Location"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText" />
<EditText
android:id="@+id/editText5"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Links"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText4" />
<EditText
android:id="@+id/editText6"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="180dp"
android:text="Mobile"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/editText5" />
<EditText
android:id="@+id/editText2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:text="Full name"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView8" />
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginEnd="8dp"
android:layout_marginBottom="8dp"
android:text="Button"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>