由于 ConstraintLayout alpha 9,链条可用。甲是一组被连接在它们之间的双向方式 ConstraintLayout 内部视图,即A连接到 B 与约束,和B连接至与另一约束。

例:

<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">

    <!-- this view is linked to the bottomTextView --> 
    <TextView
        android:id="@+id/topTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="TextView"
        app:layout_constraintBottom_toTopOf="@+id/bottomTextView"
        app:layout_constraintTop_toTopOf="parent"
        app:layout_constraintVertical_chainPacked="true"/>

    <!-- this view is linked to the topTextView at the same time --> 
    <TextView
        android:id="@+id/bottomTextView"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Bottom\nMkay"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/topTextView"/>

</android.support.constraint.ConstraintLayout>

在此示例中,两个视图一个位于另一个之下,并且它们都垂直居中。你可以通过调整链的偏差来更改这些视图的垂直位置。将以下代码添加到链的第一个元素:

app:layout_constraintVertical_bias="0.2"

在垂直链中,第一个元素是最顶部的视图,而在水平链中,它是最左侧的视图。第一个元素定义了整个链的行为。

链是一项新功能,经常更新。是关于链的官方 Android 文档。