📜  Android ConstraintLayout中的准则(1)

📅  最后修改于: 2023-12-03 15:29:20.509000             🧑  作者: Mango

Android ConstraintLayout中的准则

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中可用的所有准则:

  • start/toStartOf
  • end/toEndOf
  • left/toLeftOf
  • right/toRightOf
  • top/toTopOf
  • bottom/toBottomOf
  • baseline
  • centerHorizontally/centerX
  • centerVertically/centerY
代码示例

以下是一个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,并创建丰富而响应式的用户界面。