模拟器与我的活动布局不匹配

时间:2019-03-26 17:37:41

标签: android android-layout

我的Activity_Details布局中有一个非常基本的布局。但是,仿真器显示的布局与我想要的布局不同,我不确定如何解决该问题

我尝试使用反复试验并找到textViews将保留的地方

我还尝试过手动编辑XML文档中的边距大小。

[编辑:我正在使用相对布局]

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="#646462"
    tools:context=".DetailsActivity">


<!-- _____________________________________________________________________ -->

<!-- SECTION HEADER INFORMATION -->

    <TextView
        android:id="@+id/textViewMakeAndModel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="20dp"
        android:textColor="#000000"
        android:text="TextView"
        android:textAlignment="center"
        android:textSize="30sp" />

    <!-- License Number Header -->
    <TextView
        android:id="@+id/textViewLicenseNumber"
        android:layout_width="115dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="53dp"
        android:layout_marginTop="74dp"
        android:background="#E6E600"
        android:text="TextView"
        android:fadingEdge=""
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp"
        android:textStyle="bold" />

    <!-- Year Header -->
    <TextView
        android:id="@+id/textViewYear"
        android:layout_width="115dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="239dp"
        android:layout_marginTop="74dp"
        android:text="TextView"
        android:textAlignment="center"
        android:textColor="#052F99"
        android:textSize="18sp"
        android:textStyle="bold" />

    <!-- Vehicle ID Header -->
    <TextView
        android:id="@+id/textView1"
        android:layout_width="94dp"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="53dp"
        android:layout_marginTop="135dp"
        android:text="Vehicle ID"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Price Header -->
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="239dp"
        android:layout_marginTop="135dp"
        android:text="Price"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Colour Header -->
    <TextView
        android:id="@+id/textView3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="53dp"
        android:layout_marginTop="212dp"
        android:text="Colour"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Number of Doors Header -->
    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="239dp"
        android:layout_marginBottom="493dp"
        android:text="Number of Doors"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Transmission Header -->
    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="48dp"
        android:layout_marginBottom="409dp"
        android:text="Transmission"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Mileage Header -->
    <TextView
        android:id="@+id/textView6"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="239dp"
        android:layout_marginBottom="409dp"
        android:text="Mileage"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Fuel Type Header -->
    <TextView
        android:id="@+id/textView7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="53dp"
        android:layout_marginBottom="314dp"
        android:text="Fuel Type"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Engine Size Header -->
    <TextView
        android:id="@+id/textView8"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="239dp"
        android:layout_marginBottom="315dp"
        android:text="Engine Size"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Body Style Header -->
    <TextView
        android:id="@+id/textView9"
        android:layout_width="92dp"
        android:layout_height="wrap_content"
        android:layout_alignEnd="@+id/textView3"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="53dp"
        android:layout_marginEnd="-39dp"
        android:layout_marginBottom="227dp"
        android:text="BodyStyle"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Condition Header -->
    <TextView
        android:id="@+id/textView10"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="99dp"
        android:layout_marginBottom="225dp"
        android:text="Condition"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp" />

    <!-- Notes Header -->
    <TextView
        android:id="@+id/textView11"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="180dp"
        android:layout_marginBottom="144dp"
        android:text="Notes"
        android:textColor="#000000"
        android:textSize="18sp" />

<!-- _____________________________________________________________________ -->

<!-- GETTER INFORMATION -->

    <!-- Vehicle ID Information -->
    <TextView
        android:id="@+id/textViewVehicleID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="60dp"
        android:layout_marginTop="166dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Price Information -->
    <TextView
        android:id="@+id/textViewPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="172dp"
        android:layout_marginEnd="117dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Colour Information -->
    <TextView
        android:id="@+id/textViewColour"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="54dp"
        android:layout_marginTop="240dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Number of Doors Information -->
    <TextView
        android:id="@+id/textViewNumberDoors"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="244dp"
        android:layout_marginEnd="110dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Transmission Information -->
    <TextView
        android:id="@+id/textViewTransmission"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="50dp"
        android:layout_marginTop="324dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Mileage Information -->
    <TextView
        android:id="@+id/textViewMileage"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_marginTop="326dp"
        android:layout_marginEnd="110dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Fuel Type Information -->
    <TextView
        android:id="@+id/textViewFuelType"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="53dp"
        android:layout_marginBottom="287dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Engine Size Information -->
    <TextView
        android:id="@+id/textViewEngineSize"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="107dp"
        android:layout_marginBottom="291dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Body Style Information -->
    <TextView
        android:id="@+id/textViewBodyStyle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="57dp"
        android:layout_marginBottom="201dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Condition Information -->
    <TextView
        android:id="@+id/textViewCondition"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="113dp"
        android:layout_marginBottom="197dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp" />

    <!-- Notes Information -->
    <TextView
        android:id="@+id/textViewNotes"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentBottom="true"
        android:textColor="#FFFFFF"
        android:layout_marginStart="174dp"
        android:layout_marginBottom="118dp"
        android:text="TextView"
        android:textSize="16sp" />

</RelativeLayout>

screenshot

2 个答案:

答案 0 :(得分:1)

相反

        android:layout_alignParentStart="true"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_alignParentBottom="true"
        android:layout_marginStart="239dp"
        android:layout_marginEnd="36dp"
        android:layout_marginRight="36dp"
        android:layout_marginBottom="493dp"

使用位置相对视图

        android:layout_below="@+id/textViewLicenseNumber"
        android:layout_above="@+id/textViewLicenseNumber"
        android:layout_toStartOf="@+id/textViewLicenseNumber"
        android:layout_toEndOf="@+id/textViewLicenseNumber"
        android:layout_alignStart="@+id/textViewLicenseNumber"
        android:layout_alignEnd="@+id/textViewLicenseNumber"
        android:layout_alignBottom="@+id/textViewLicenseNumber"
        android:layout_alignTop="@+id/textViewLicenseNumber"

例如

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout 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="#646462"
                tools:context=".DetailsActivity">


    <!-- SECTION HEADER INFORMATION -->

    <TextView
        android:id="@+id/textViewMakeAndModel"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentTop="true"
        android:layout_marginStart="0dp"
        android:layout_marginTop="20dp"
        android:textColor="#000000"
        android:text="TextView"
        android:textAlignment="center"
        android:textSize="30sp"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="0dp"/>

    <!-- License Number Header -->
    <TextView
        android:id="@+id/textViewLicenseNumber"
        android:layout_width="115dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textViewMakeAndModel"
        android:layout_alignParentStart="true"
        android:layout_marginStart="53dp"
        android:layout_marginTop="13dp"
        android:background="#E6E600"
        android:fadingEdge=""
        android:text="TextView"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp"
        android:textStyle="bold"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="53dp"/>

    <!-- Year Header -->
    <TextView
        android:id="@+id/textViewYear"
        android:layout_width="115dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textViewMakeAndModel"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_marginTop="13dp"
        android:layout_marginEnd="57dp"
        android:layout_marginRight="57dp"
        android:text="TextView"
        android:textAlignment="center"
        android:textColor="#052F99"
        android:textSize="18sp"
        android:textStyle="bold"/>

    <!-- Vehicle ID Header -->
    <TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textViewLicenseNumber"
        android:layout_alignStart="@+id/textViewLicenseNumber"
        android:layout_alignLeft="@+id/textViewLicenseNumber"

        android:layout_marginStart="0dp"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="40dp"
        android:text="Vehicle ID"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp"/>

    <!-- Price Header -->
    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textViewYear"
        android:layout_alignStart="@+id/textViewYear"
        android:layout_alignLeft="@+id/textViewYear"
        android:layout_marginStart="0dp"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="40dp"
        android:text="Price"
        android:textAlignment="center"
        android:textColor="#000000"
        android:textSize="18sp"/>


    <!-- Vehicle ID Information -->
    <TextView
        android:id="@+id/textViewVehicleID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_alignStart="@+id/textView1"
        android:layout_alignLeft="@+id/textView1"
        android:layout_marginTop="17dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp"/>

    <!-- Price Information -->
    <TextView
        android:id="@+id/textViewPrice"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView2"
        android:layout_alignStart="@+id/textView2"
        android:layout_alignLeft="@+id/textView2"
        android:layout_marginTop="20dp"
        android:text="TextView"
        android:textColor="#FFFFFF"
        android:textSize="16sp"/>
</RelativeLayout>

答案 1 :(得分:0)

您正在dp中使用固定的大小和边距(类似于android:layout_marginStart="174dp"),这样做是在使布局不响应所有屏幕尺寸:

不同的手机具有不同的屏幕尺寸,并且在您的视图中使用固定的尺寸,一部手机看起来可能不错,而另一部手机看起来完全不好。
如果要获得完整的响应式布局,则应使用ConstraintLayout

以下是使用constraintLayout和一些guidlines进行所需布局的示例:

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


<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:text="ford fiesta"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:text="TextView"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

<TextView
    android:id="@+id/textView12"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:text="E VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView5"
    app:layout_constraintEnd_toEndOf="@+id/textView10"
    app:layout_constraintStart_toStartOf="@+id/textView10"
    app:layout_constraintTop_toBottomOf="@+id/textView10" />

<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="A VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView9"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/textView4" />

<TextView
    android:id="@+id/textView13"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginTop="8dp"
    android:layout_marginEnd="8dp"
    android:text="1 VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView14"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="@+id/guideline2"
    app:layout_constraintTop_toBottomOf="@+id/textView4" />

<TextView
    android:id="@+id/textView14"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="2 VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView15"
    app:layout_constraintEnd_toEndOf="@+id/textView13"
    app:layout_constraintStart_toStartOf="@+id/textView13"
    app:layout_constraintTop_toBottomOf="@+id/textView13" />

<TextView
    android:id="@+id/textView15"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="3 VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView16"
    app:layout_constraintEnd_toEndOf="@+id/textView14"
    app:layout_constraintStart_toStartOf="@+id/textView14"
    app:layout_constraintTop_toBottomOf="@+id/textView14" />

<TextView
    android:id="@+id/textView16"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="4 VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView17"
    app:layout_constraintEnd_toEndOf="@+id/textView15"
    app:layout_constraintStart_toStartOf="@+id/textView15"
    app:layout_constraintTop_toBottomOf="@+id/textView15" />

<TextView
    android:id="@+id/textView17"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="8dp"
    android:text="5 VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView5"
    app:layout_constraintEnd_toEndOf="@+id/textView16"
    app:layout_constraintStart_toStartOf="@+id/textView16"
    app:layout_constraintTop_toBottomOf="@+id/textView16" />

<TextView
    android:id="@+id/textView9"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="B VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView11"
    app:layout_constraintEnd_toEndOf="@+id/textView8"
    app:layout_constraintStart_toStartOf="@+id/textView8"
    app:layout_constraintTop_toBottomOf="@+id/textView8" />

<TextView
    android:id="@+id/textView10"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="D VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView12"
    app:layout_constraintEnd_toEndOf="@+id/textView11"
    app:layout_constraintStart_toStartOf="@+id/textView11"
    app:layout_constraintTop_toBottomOf="@+id/textView11" />

<TextView
    android:id="@+id/textView11"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:text="C VALUE"
    app:layout_constraintBottom_toTopOf="@+id/textView10"
    app:layout_constraintEnd_toEndOf="@+id/textView9"
    app:layout_constraintStart_toStartOf="@+id/textView9"
    app:layout_constraintTop_toBottomOf="@+id/textView9" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent="0.5" />

结果如下:

enter image description here