与设备相比,我在Android中的布局预览显示不同

问题描述 投票:1回答:2

请告诉我的代码出错了。或者某些设置存在问题。我已经尝试过约束布局,它仍然显示类似的错误。我也检查了设备分辨率。它与预览相匹配,但仍以不同方式显示。

这是它在预览中的显示方式。 enter image description here

这就是它在设备中的显示方式。 enter image description here

<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" />

android android-layout android-relativelayout
2个回答
0
投票

好的,请尝试这个编辑过的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" />

0
投票

您在视图上使用固定大小,并且由于不同的手机屏幕大小不同,因此这种布局并不能真正响应所有设备,如果您想要完整的响应式布局,最好使用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>
© www.soinside.com 2019 - 2024. All rights reserved.