Android ConstraintLayout 相对于右侧项目的宽度
Android ConstraintLayout width relative to item on the right
在iOS中,我可以在项目之间设置一个space,在Android中如何实现?
例如:
我想在屏幕左侧有一个 TextView
,固定在 parent 的左边缘,在屏幕右侧有一个 TextView
,固定在parent 的右边缘,两者在同一行。
现在我希望左侧 TextView
的宽度尽可能宽,但左侧 TextView
和右侧 TextView
之间的最小宽度为 16dp space。
希望大家理解。
如果我明白你想要什么,你可以使用 padding
在 TextView
添加你需要的 space。如果您使用 RelativeLayout
作为父布局,则可以左右对齐 TextView
关于在视图周围留下 space,您会考虑使用 margin
(see here for the difference between padding and margin in Android layouts)。
特别是在 ConstraintLayout
中,它看起来像:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/left_text_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/right_text_view"
android:layout_marginRight="16dp"
android:text="left text" />
<TextView
android:id="@+id/right_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintRight_toRightOf="parent"
android:text="right text" />
</android.support.constraint.ConstraintLayout>
注意 TextView 宽度之间的差异。正确的是 wrap_content
所以它会改变它的大小以适应它的文本。左边的宽度为 0dp,在 ConstraintLayout
中表示 "match constraints"。它需要左右约束才能计算出宽度,所以我们都给出了。
我们还在第一个 TextView 的右侧添加了边距,以确保视图之间的间隙。或者,我们可以在第二个 TextView 上将 16dp 添加为 layout_marginLeft
或将其拆分为每个 8dp,具体取决于具体情况。
在iOS中,我可以在项目之间设置一个space,在Android中如何实现?
例如:
我想在屏幕左侧有一个 TextView
,固定在 parent 的左边缘,在屏幕右侧有一个 TextView
,固定在parent 的右边缘,两者在同一行。
现在我希望左侧 TextView
的宽度尽可能宽,但左侧 TextView
和右侧 TextView
之间的最小宽度为 16dp space。
希望大家理解。
如果我明白你想要什么,你可以使用 padding
在 TextView
添加你需要的 space。如果您使用 RelativeLayout
作为父布局,则可以左右对齐 TextView
关于在视图周围留下 space,您会考虑使用 margin
(see here for the difference between padding and margin in Android layouts)。
特别是在 ConstraintLayout
中,它看起来像:
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto">
<TextView
android:id="@+id/left_text_view"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toLeftOf="@+id/right_text_view"
android:layout_marginRight="16dp"
android:text="left text" />
<TextView
android:id="@+id/right_text_view"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintRight_toRightOf="parent"
android:text="right text" />
</android.support.constraint.ConstraintLayout>
注意 TextView 宽度之间的差异。正确的是 wrap_content
所以它会改变它的大小以适应它的文本。左边的宽度为 0dp,在 ConstraintLayout
中表示 "match constraints"。它需要左右约束才能计算出宽度,所以我们都给出了。
我们还在第一个 TextView 的右侧添加了边距,以确保视图之间的间隙。或者,我们可以在第二个 TextView 上将 16dp 添加为 layout_marginLeft
或将其拆分为每个 8dp,具体取决于具体情况。