我在android中的布局预览显示与设备相比有所不同

时间:2019-02-25 12:02:34

标签: android android-layout android-relativelayout

请告诉我我的代码出了什么问题。或某些设置有问题。我试过约束布局,它仍然显示类似的错误。我还检查了设备分辨率。它与预览匹配,但显示方式有所不同。

这是预览中的显示方式。 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" />

2 个答案:

答案 0 :(得分: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" />

答案 1 :(得分:0)

您在视图上使用的是固定尺寸,并且由于不同的手机具有不同的屏幕尺寸,因此该布局并不能真正响应所有设备,如果您想要完整的响应式布局,则最好使用constraint layout
如果要使用相对布局,最好更改固定大小,但是正如已经说过的,约束布局是最好的选择-下面是一个简单布局的示例,它看起来像您希望的那样:< / strong>

         File_Name
0  Hello.world.txt
1          DMA.csv
2              NaN
3          AEB.csv
4            Xy.py