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 运行该应用程序,请打开项目的某个活动文件,然后点击工具栏上的"运行"图标
。选择您的移动设备作为选项,然后勾选将显示默认屏幕 − 的移动设备。

点击此处下载项目代码

