📅  最后修改于: 2023-12-03 15:29:20.509000             🧑  作者: Mango
Android ConstraintLayout是一种用于创建动态而且复杂的布局的布局类型。ConstraintLayout使用准则(Rules)来定义Views之间的关系,并计算它们在屏幕上的位置。使用ConstraintLayout,您可以轻松地创建反应性布局,而无需编写大量的布局代码。
ConstraintLayout的两个主要特性是基于准则的位置和百分比大小。准则是一个View的属性,它允许一个View与它的兄弟或Parent View之间建立关系。
准则的格式通常是:
android:layout_constraint[action]To[action]="[reference]"
其中[action]
是“start”、“end”、“left”、“right”、“top”、“bottom”、“baseline”、“centerX”或“centerY”。它们描述了View相对其他View的位置。
[reference]
则是具体的参考View的ID。
例如,以下准则将一个View的右侧与它的父级右侧对齐:
android:layout_constraintEnd_toEndOf="parent"
以下是ConstraintLayout中可用的所有准则:
以下是一个ConstraintLayout的示例代码,其中两个View之间使用了准则:
<android.support.constraint.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">
<TextView
android:id="@+id/textview_left"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is Left View"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
<TextView
android:id="@+id/textview_right"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="This is Right View"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"/>
</android.support.constraint.ConstraintLayout>
在上面的示例中,左侧的TextView与父布局的左侧对齐,并相对于顶部有一些距离。右侧的TextView与父布局的右侧对齐,并相对于顶部有相同的距离。这些关系由app:
开头的准则定义。
ConstraintLayout的准则是一种有用的工具,可以让Android开发人员轻松创建复杂和多样化的布局。通过了解准则的格式和可用的选项,您可以更好地掌握ConstraintLayout,并创建丰富而响应式的用户界面。