Android 中的约束布局 (Constraint Layout) 是如何工作的?

androidmobile developmentapps/applications

简单来说,约束布局是相对布局 (Relative Layout) 的高级版本。它用于减少子视图的层级并提升性能。

约束布局的属性如下所示 -

包裹内容 (Wrap Content) - 根据数据包裹视图大小。

任意尺寸 - 这与匹配父级非常相似。

固定尺寸​​ - 允许标准高度和宽度(固定尺寸)。

在上面的例子中,我们展示了按钮的所有属性,现在查看代码层面,如下所示 -

<Button
   android:layout_width="wrap_content"
   android:layout_height="53dp"
   android:layout_marginStart="8dp"
   android:layout_marginTop="8dp"
   android:layout_marginEnd="8dp"
   android:layout_marginBottom="8dp"
   android:text="Button"
   app:layout_constraintBottom_toBottomOf="parent"
   app:layout_constraintEnd_toEndOf="parent"
   app:layout_constraintHorizontal_bias="0.391"
   app:layout_constraintStart_toStartOf="@+id/data1"
   app:layout_constraintTop_toTopOf="parent" />

上图中,我们声明了布局的顶部边距、底部边距、起始边距和结束边距。这些是标准距离(类似于匹配父级)。

约束布局中有两种可用的偏移量:水平偏移和垂直偏移。重力空间分为水平方向和垂直方向。

点击视图,将显示与该视图相关的所有层级结构。

点击视图后,您将看到带有"X"颜色图标的按钮,用于移除与其他视图或父视图关联的层级结构。

此示例演示了如何在 Android 中使用约束布局。

步骤 1 − 在 Android Studio 中创建一个新项目,转到"文件"->"新建项目",并填写所有必需的详细信息以创建新项目。

步骤 2 − 将以下代码添加到 res/layout/activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout  xmlns:android="http://schemas.android.com/apk/res/android"
   xmlns:app="http://schemas.android.com/apk/res-auto"
   xmlns:tools="http://schemas.android.com/tools"
   android:layout_width="match_parent"
   android:id="@+id/layout"
   android:gravity="center"
   android:layout_height="match_parent"
   android:orientation="vertical">
   <TextView
      android:id="@+id/data"
      android:layout_width="wrap_content"
      android:gravity="center"
      android:textSize="30sp"
      android:text="www.tutorialspoint.com"
      android:layout_height="wrap_content" />
   <TextView
      android:id="@+id/data1"
      android:layout_width="wrap_content"
      android:layout_height="wrap_content"
      android:layout_marginStart="8dp"
      android:layout_marginTop="80dp"
      android:layout_marginEnd="8dp"
      android:gravity="center"
      android:text="www.tutorialspoint.com"
      android:textSize="30sp"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintStart_toStartOf="parent"
      app:layout_constraintTop_toTopOf="parent" />
   <Button
      android:layout_width="wrap_content"
      android:layout_height="53dp"
      android:layout_marginStart="8dp"
      android:layout_marginTop="8dp"
      android:layout_marginEnd="8dp"
      android:layout_marginBottom="8dp"
      android:text="Button"
      app:layout_constraintBottom_toBottomOf="parent"
      app:layout_constraintEnd_toEndOf="parent"
      app:layout_constraintHorizontal_bias="0.43"
      app:layout_constraintStart_toStartOf="@+id/data1"
      app:layout_constraintTop_toTopOf="parent" />
</android.support.constraint.ConstraintLayout>

让我们尝试运行您的应用程序。假设您已将实际的 Android 移动设备连接到电脑。要从 Android Studio 运行该应用程序,请打开项目的某个活动文件,然后点击工具栏上的"运行"图标  。选择您的移动设备作为选项,然后勾选将显示默认屏幕 − 的移动设备。

点击此处下载项目代码


相关文章