垂直偏差在约束布局中不起作用 Android
Vertical bias not working in Constraint Layout Android
嘿,我想在我的图像视图上添加垂直偏差。但它不起作用。我要一起看全貌。但是当我设置约束时,它会拉伸视图并将其分成相等的部分。
我不想要这个
我想像这样设置适当的约束
这是我的 xml 代码
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/contentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:focusable="true"
android:focusableInTouchMode="true">
<ImageView
android:id="@+id/topImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:src="@drawable/xyz"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/description"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/topImage"
tools:text="Header" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/header"
app:layout_constraintVertical_bias="0.0"
tools:text="Description" />
<ImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
您有一个由四个视图组成的垂直链(顶部和底部按顺序相互约束)。当有链条时,它们在那个方向上被视为一个组,并且有一种“链条样式”决定它们如何间隔开。默认的链条样式是“展开”,但您想要“打包”。添加
app:layout_constraintVertical_chainStyle="packed"
到链中的第一个视图,topImage
。它将影响整个链条。您还可以 right-click 设计编辑器中的链条并以此方式更改链条样式。
如果你想使用垂直偏移,你应该把它放在链的第一个视图 topImage
中,而不是 imageView
。整个群体会一起偏向,但偏向是相对于第一个观点来解释的。或者,如果您只想让整个组一直偏向顶部,您可以移除底部视图和父视图底部之间的偏差和约束。
嘿,我想在我的图像视图上添加垂直偏差。但它不起作用。我要一起看全貌。但是当我设置约束时,它会拉伸视图并将其分成相等的部分。
我不想要这个
我想像这样设置适当的约束
这是我的 xml 代码
<androidx.constraintlayout.widget.ConstraintLayout
android:id="@+id/contentContainer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:focusable="true"
android:focusableInTouchMode="true">
<ImageView
android:id="@+id/topImage"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="24dp"
android:src="@drawable/xyz"
android:visibility="visible"
app:layout_constraintBottom_toTopOf="@+id/header"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/description"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@id/topImage"
tools:text="Header" />
<TextView
android:id="@+id/description"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toTopOf="@+id/imageView"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/header"
app:layout_constraintVertical_bias="0.0"
tools:text="Description" />
<ImageView
android:id="@+id/imageView"
android:layout_width="0dp"
android:layout_height="wrap_content"
app:layout_constraintVertical_bias="0.0"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toBottomOf="@+id/description"
tools:ignore="ContentDescription" />
</androidx.constraintlayout.widget.ConstraintLayout>
您有一个由四个视图组成的垂直链(顶部和底部按顺序相互约束)。当有链条时,它们在那个方向上被视为一个组,并且有一种“链条样式”决定它们如何间隔开。默认的链条样式是“展开”,但您想要“打包”。添加
app:layout_constraintVertical_chainStyle="packed"
到链中的第一个视图,topImage
。它将影响整个链条。您还可以 right-click 设计编辑器中的链条并以此方式更改链条样式。
如果你想使用垂直偏移,你应该把它放在链的第一个视图 topImage
中,而不是 imageView
。整个群体会一起偏向,但偏向是相对于第一个观点来解释的。或者,如果您只想让整个组一直偏向顶部,您可以移除底部视图和父视图底部之间的偏差和约束。