,可以使用以下方法:
示例代码:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF0000"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="0.5"/>
<View
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00FF00"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintVertical_bias="0.5"/>
</androidx.constraintlayout.widget.ConstraintLayout>
在上面的示例代码中,view1和view2分别是两个要垂直居中的视图。通过设置它们的约束条件app:layout_constraintTop_toTopOf="parent"
和app:layout_constraintBottom_toBottomOf="parent"
,并将垂直约束条件app:layout_constraintVertical_bias="0.5"
设置为0.5,即可实现垂直居中。
示例代码:
<androidx.constraintlayout.widget.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.constraintlayout.widget.Guideline
android:id="@+id/verticalGuideline"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_percent="0.5"/>
<View
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#FF0000"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="@id/verticalGuideline"/>
<View
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00FF00"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="@id/verticalGuideline"/>
</androidx.constraintlayout.widget.ConstraintLayout>
在上面的示例代码中,添加了一个垂直的Guideline,并将其设置为布局的中心线,即app:layout_constraintGuide_percent="0.5"
。然后将view1的起始边缘与Guideline对齐,即app:layout_constraintStart_toStartOf="@id/verticalGuideline"
。将view2的结束边缘与Guideline对齐,即app:layout_constraintEnd_toEndOf="@id/verticalGuideline"
。这样两个视图就会在垂直方向上居中显示。
注意:上述示例代码中,使用的是Android的ConstraintLayout布局,如果使用其他前端开发框架或后端开发语言,可以根据相应的文档和语法进行类似的操作。具体的实现方式可能会有所不同,但基本原理是相似的。
以上是在ConstraintLayout中垂直居中2个视图的方法。ConstraintLayout是Android平台上强大而灵活的布局管理器,可以帮助开发人员实现复杂的界面布局。通过使用约束条件或Guideline,可以轻松地实现视图的居中对齐。
领取专属 10元无门槛券
手把手带您无忧上云