将 TextView 与 ConstraintLayout 中的 Spinner 正确对齐?
Align TextView correctly with a Spinner in a ConstraintLayout?
我有一个代表表单的 activity 布局。该表单包含一些表单字段,包括一个 Spinner。
布局类型为 ConstraintLayout。
因为 Spinner 控件没有基线,所以我无法正确垂直对齐 "Kind" 标签。我在顶部使用 24 dp 作为临时值。解决方案,但因为 Spinner 会增加高度,所以我不喜欢这个解决方案。
是否有更好的解决方案来正确对齐 Kind 标签?
<TextView android:id="@+id/video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem Ipsum"
app:layout_constraintBottom_toBottomOf="@+id/spinner"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/spinner" />
当您将一个视图的底部和顶部锚定到另一个视图时,它会相对居中。这在垂直和水平方向上都有效。
希望这有帮助。
根据我的经验,使用基线对齐 (layout_constraintBaseline_toBaselineOf
) 时,TextView 和 Spinner 的对齐效果更好。
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Repeat"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toRightOf="@id/textview"
app:layout_constraintBaseline_toBaselineOf="@id/textview"
android:layout_marginLeft="50dp"/>
我有一个代表表单的 activity 布局。该表单包含一些表单字段,包括一个 Spinner。
布局类型为 ConstraintLayout。
因为 Spinner 控件没有基线,所以我无法正确垂直对齐 "Kind" 标签。我在顶部使用 24 dp 作为临时值。解决方案,但因为 Spinner 会增加高度,所以我不喜欢这个解决方案。
是否有更好的解决方案来正确对齐 Kind 标签?
<TextView android:id="@+id/video"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Lorem Ipsum"
app:layout_constraintBottom_toBottomOf="@+id/spinner"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="@+id/spinner" />
当您将一个视图的底部和顶部锚定到另一个视图时,它会相对居中。这在垂直和水平方向上都有效。
希望这有帮助。
根据我的经验,使用基线对齐 (layout_constraintBaseline_toBaselineOf
) 时,TextView 和 Spinner 的对齐效果更好。
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Repeat"/>
<Spinner
android:id="@+id/spinner"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintLeft_toRightOf="@id/textview"
app:layout_constraintBaseline_toBaselineOf="@id/textview"
android:layout_marginLeft="50dp"/>