如何使android活动适合所有尺寸的移动显示器?

时间:2018-08-10 09:44:07

标签: android xml android-layout

我已经在android studio中完美对齐了它,但是当我运行它时,它出现了问题,我在智能手机和模拟器中都尝试过,但是结果是一样的。我有什么办法可以做它在移动设备上的显示方式与我在android studio中看到的方式相同吗?

click here to see the image   我上传的图片显示,在android studio中,显示看起来非常不错,但是运行位置更改后。

这是xml:

<?xml version="1.0" encoding="utf-8"?>

<android.support.constraint.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"
android:background="@drawable/wm"
tools:context="sanal.gmail.android.PetCare.doctorassignment">


<ImageView
    android:id="@+id/imageView9"
    android:layout_width="match_parent"
    android:layout_height="30dp"
    android:layout_marginTop="36dp"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:srcCompat="@drawable/petownerde" />

<ImageView
    android:id="@+id/imageView11"
    android:layout_width="match_parent"
    android:layout_height="38dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/linearLayout6"
    app:srcCompat="@drawable/pet" />

<EditText
    android:id="@+id/editText10"
    android:layout_width="213dp"
    android:layout_height="142dp"


    android:layout_marginBottom="8dp"
    android:layout_marginTop="472dp"
    android:background="@drawable/button"
    android:ems="10"
    android:gravity="top|left"
    android:hint="Type your message here"
    android:inputType="textMultiLine"
    android:lines="10"
    android:maxLength="160"
    android:maxLines="5"
    android:minLines="6"
    android:scrollbars="vertical"
    android:singleLine="false"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.036"
    tools:layout_editor_absoluteX="99dp" />

<Button
    android:id="@+id/button5"
    android:layout_width="88dp"
    android:layout_height="44dp"
    android:layout_marginBottom="60dp"
    android:layout_marginEnd="162dp"
    android:layout_marginLeft="161dp"
    android:layout_marginRight="162dp"
    android:layout_marginStart="161dp"
    android:layout_marginTop="19dp"
    android:background="@drawable/button1"
    android:onClick="sendmessage"
    android:text="SEND"
    android:textColor="#F6F6F6"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/editText10" />

<LinearLayout
    android:id="@+id/linearLayout5"
    android:layout_width="match_parent"
    android:layout_height="168dp"
    android:layout_marginLeft="5dp"
    android:layout_marginTop="8dp"
    android:orientation="horizontal"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView11"
    app:layout_constraintVertical_bias="0.049">

    <LinearLayout
        android:id="@+id/linearLayout4"
        android:layout_width="84dp"
        android:layout_height="160dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView21"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="10dp"
            android:text="Pet name :"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView22"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="10dp"
            android:text="Breed :"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView23"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="10dp"
            android:text="Colour :"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView24"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:paddingBottom="10dp"
            android:text="Age :"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView25"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Gender :"
            android:textSize="18sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout2"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical"

        >

        <TextView
            android:id="@+id/textView13"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Pet name"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView14"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="breed"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView15"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="colour"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView16"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="age"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView17"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="gender"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />
    </LinearLayout>
</LinearLayout>

<LinearLayout
    android:id="@+id/linearLayout6"
    android:layout_width="match_parent"
    android:layout_height="136dp"
    android:layout_marginLeft="5dp"
    android:layout_marginTop="31dp"
    android:orientation="horizontal"
    app:layout_constraintBottom_toTopOf="@+id/imageView11"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/imageView9">

    <LinearLayout
        android:id="@+id/linearLayout3"
        android:layout_width="79dp"
        android:layout_height="126dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView18"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="Name :"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView10"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="Email :"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView9"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginBottom="10dp"
            android:text="Contact : "
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView8"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Address : "
            android:textSize="18sp" />

    </LinearLayout>

    <LinearLayout
        android:id="@+id/linearLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">

        <TextView
            android:id="@+id/textView7"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="name"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="email "
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="phone number"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

        <TextView
            android:id="@+id/textView12"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:text="address"
            android:textColor="#F6F6F6"
            android:textSize="18sp" />

    </LinearLayout>
</LinearLayout>

`

3 个答案:

答案 0 :(得分:0)

使用RelativeLayout代替constraintLayout

并提供您无法改变的视图位置的完美视图

使用RelativeLayout-> belowabovetoLeftOftoRightOf的属性

并设置其他组件

还有heightwidth所有未确定的组件。

您的要求固定大小,然后给定固定大小,否则使用match_parentwrap_content

对于您的布局来说,一件重要的事情是,您可以使用scrollview来解决edittextbutton混乱的问题,或者将组件的尺寸设置得很小,然后又不会混乱您的布局

您还可以固定使用的大小或密度,然后使用Dependency SDP和SSP

答案 1 :(得分:0)

点击这两个链接,您将得到答案。这是一种耗时的方法,但是绝对可以从这些链接中学到很多东西。

  1. http://developer.android.com/training/multiscreen/screensizes.html

  2. http://developer.android.com/guide/practices/screens_support.html

使您的android应用程序对所有屏幕尺寸完全响应并不是一项艰巨的工作,但是它需要对布局以及XML属性有丰富的知识和经验。

答案 2 :(得分:-1)

对于android,有几种方法使其与所有设备兼容。

您可以使用ConstraintLayout来进行更具响应性的活动,而不是LinearLayout。

除此之外,使用更灵活,更自适应的布局,例如“ match_parent”,“ wrap_content”,而不是硬编码值。 例如-

android:layout_width="match_parent"
android:layout_height="wrap_content"
android:margin_top="5sp"

以此类推。我希望这能解决您的问题。

有关此的更多信息,您可以检查this link