【问题标题】:Layout displays differently on emulator and android than it should布局在模拟器和 android 上的显示与应有的不同
【发布时间】:2021-03-04 22:26:00
【问题描述】:

布局在设计中的显示方式不同,在模拟器和 android 上的显示方式也不同。我是新手,我不知道为什么会这样。

<EditText
    android:id="@+id/login"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="16dp"
    android:autofillHints=""
    android:ems="10"
    android:hint="Your login"
    android:inputType="textPersonName"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.099"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<EditText
    android:id="@+id/password"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="20dp"
    android:layout_marginTop="16dp"
    android:ems="10"
    android:hint="Your password"
    android:importantForAutofill="no"
    android:inputType="textPassword"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/login" />

<EditText
    android:id="@+id/email"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginStart="20dp"
    android:layout_marginTop="16dp"
    android:ems="10"
    android:hint="Your email"
    android:importantForAutofill="no"
    android:inputType="textEmailAddress"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/password" />

<TextView
    android:id="@+id/emailWarrning"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="156dp"
    android:text="fwef"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.503"
    app:layout_constraintStart_toEndOf="@+id/email"
    app:layout_constraintTop_toTopOf="parent" />

<TextView
    android:id="@+id/passwordWarrning"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginTop="92dp"
    android:text="duap"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/password"
    app:layout_constraintTop_toTopOf="parent" />

<RadioGroup
    android:id="@+id/radioGroup"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="316dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.498"
    app:layout_constraintStart_toStartOf="parent">

    <RadioButton
        android:id="@+id/radioButton9"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Female" />

    <RadioButton
        android:id="@+id/radioButton7"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Male" />

    <RadioButton
        android:id="@+id/radioButton8"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:text="Shemale" />
</RadioGroup>

<TextView
    android:id="@+id/textView4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="TextView"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toStartOf="parent" />

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="32dp"
    android:text="Set your sex:"
    android:textSize="24sp"
    app:layout_constraintBottom_toTopOf="@+id/radioGroup"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.498"
    app:layout_constraintStart_toStartOf="parent" />

在从 youtube 学习时,我仍然遇到一些奇怪的问题,尽管我是按照教程中的步骤一步一步做的

【问题讨论】:

  • 你能分享你的xml布局吗
  • 分享你的xml代码。它可能与您的 xml 代码有关。您可以编辑问题并粘贴您的 xml 代码
  • 欢迎来到 Stack Overflow @Kerg3r!这个论坛完全是关于编码的,所以在发布问题时,请确保在问题中包含一些相关的代码。通过发布布局预览的图像,我们只能猜测问题可能是什么,并不能有效地帮助您。

标签: android android-layout kotlin


【解决方案1】:

您会看到设计视图和模拟器之间的区别,因为屏幕尺寸不同。由于android:layout_marginBottom="316dp",RadioGroup 正在向上移动。删除此硬边距并为 RadioGroup 添加顶部约束,使其始终低于 textView6。

    <RadioGroup
    android:id="@+id/radioGroup"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:layout_constraintTop_toBottomOf="@id/textView6"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.498"
    app:layout_constraintStart_toStartOf="parent">

同时调整 textView6 约束,使其始终位于电子邮件视图下方。

<TextView
    android:id="@+id/textView6"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginBottom="32dp"
    android:text="Set your sex:"
    android:textSize="24sp"
    app:layout_constraintTop_toBottomOf="@id/email"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.498"
    app:layout_constraintStart_toStartOf="parent" />

如果你愿意,可以在 email 和 textView6 之间添加一些边距。

同时删除 emailWarning 和 passwordWarning 的上边距,并通过如下更改约束将这些视图与电子邮件和密码视图对齐。

    <TextView
    android:id="@+id/emailWarrning"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="fwef"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.503"
    app:layout_constraintStart_toEndOf="@+id/email"
    app:layout_constraintTop_toTopOf="@id/email" />

<TextView
    android:id="@+id/passwordWarrning"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="duap"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/password"
    app:layout_constraintTop_toTopOf="@id/password" />

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-20
    • 1970-01-01
    • 2013-07-15
    • 1970-01-01
    • 2021-07-30
    相关资源
    最近更新 更多