布局在预览中很好,但在 virtual/real 设备中乱七八糟
Layout is fine in preview, but is messed up in virtual/real device
这是图片和 xml 文件。它在预览中看起来不错,但是当我 运行 它在虚拟设备或真实设备上时,布局变得混乱。我尝试删除所有内容并重新执行,但布局仍然乱七八糟。
下面的代码用于布局的下半部分。
虚拟设备
预览
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/calcBtn"
app:layout_constraintVertical_bias="0.0">
<TextView
android:id="@+id/maltReq"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lekton_reg"
android:text="0.00"
android:textColor="@android:color/background_light"
android:textSize="60sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/maltReqTV" />
<TextView
android:id="@+id/maltReqTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="65dp"
android:fontFamily="@font/opensans_regular"
android:text="Malt Required"
android:textColor="@android:color/background_light"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/lbBtn"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginBottom="41dp"
android:layout_marginEnd="60dp"
android:layout_marginTop="112dp"
android:background="@drawable/unit_btn_unclicked"
android:fontFamily="@font/lekton_reg"
android:text="LB"
android:textColor="@android:color/background_light"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/maltBillBtn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/kgBtn"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/kgBtn"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginBottom="41dp"
android:layout_marginStart="12dp"
android:layout_marginTop="112dp"
android:background="@drawable/unit_btn_clicked"
android:fontFamily="@font/lekton_reg"
android:text="KG"
android:textColor="@android:color/background_light"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/maltBillBtn"
app:layout_constraintEnd_toStartOf="@+id/lbBtn"
app:layout_constraintStart_toEndOf="@+id/maltReq"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/maltBillBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/btn_bg_flat"
android:drawablePadding="5dp"
android:drawableRight="@drawable/ic_keyboard_arrow_right_black_24dp4"
android:fontFamily="@font/open_sans_light"
android:text="MALT BILL"
android:textColor="@android:color/background_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
'
您的问题是您的按钮是相对于底部按钮设置的位置 - 它在模拟器中看起来不错,因为您正在查看一种特定尺寸。如果您的意图是它始终与 @id/maltReq
对齐,则将您的按钮与 BottomToBottom 与 maltReq 对齐比将它们锚定在屏幕底部按钮的顶部是更好的响应布局。
这是图片和 xml 文件。它在预览中看起来不错,但是当我 运行 它在虚拟设备或真实设备上时,布局变得混乱。我尝试删除所有内容并重新执行,但布局仍然乱七八糟。
下面的代码用于布局的下半部分。
<android.support.constraint.ConstraintLayout
android:id="@+id/constraintLayout2"
android:layout_width="0dp"
android:layout_height="0dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/calcBtn"
app:layout_constraintVertical_bias="0.0">
<TextView
android:id="@+id/maltReq"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="@font/lekton_reg"
android:text="0.00"
android:textColor="@android:color/background_light"
android:textSize="60sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/maltReqTV" />
<TextView
android:id="@+id/maltReqTV"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="65dp"
android:fontFamily="@font/opensans_regular"
android:text="Malt Required"
android:textColor="@android:color/background_light"
android:textSize="15sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.5"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/lbBtn"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginBottom="41dp"
android:layout_marginEnd="60dp"
android:layout_marginTop="112dp"
android:background="@drawable/unit_btn_unclicked"
android:fontFamily="@font/lekton_reg"
android:text="LB"
android:textColor="@android:color/background_light"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/maltBillBtn"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toEndOf="@+id/kgBtn"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/kgBtn"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginBottom="41dp"
android:layout_marginStart="12dp"
android:layout_marginTop="112dp"
android:background="@drawable/unit_btn_clicked"
android:fontFamily="@font/lekton_reg"
android:text="KG"
android:textColor="@android:color/background_light"
android:textSize="20sp"
app:layout_constraintBottom_toTopOf="@+id/maltBillBtn"
app:layout_constraintEnd_toStartOf="@+id/lbBtn"
app:layout_constraintStart_toEndOf="@+id/maltReq"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/maltBillBtn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginBottom="16dp"
android:layout_marginEnd="16dp"
android:background="@drawable/btn_bg_flat"
android:drawablePadding="5dp"
android:drawableRight="@drawable/ic_keyboard_arrow_right_black_24dp4"
android:fontFamily="@font/open_sans_light"
android:text="MALT BILL"
android:textColor="@android:color/background_light"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent" />
</android.support.constraint.ConstraintLayout>
'
您的问题是您的按钮是相对于底部按钮设置的位置 - 它在模拟器中看起来不错,因为您正在查看一种特定尺寸。如果您的意图是它始终与 @id/maltReq
对齐,则将您的按钮与 BottomToBottom 与 maltReq 对齐比将它们锚定在屏幕底部按钮的顶部是更好的响应布局。