Chain

什么是 Chain 链

Chain 链是一种特殊的约束让多个 chain 链连接的 Views 能够平分剩余空间位置。

开始创建 Chain 链

前面概要已经提到了 Chain 链是由多个 Views 组合的,所以要创建一个 Chain 链就需要先选择多个想要链接到一起的 Views ,然后再右键选择 'Center Horizontally' 或者 'Center Vertically' 来创建水平链或者垂直链。如下,创建一个水平链:

Chain
Chain
Chain

Chain 链三种类型

可以使用cycle chain mode来切换chain的不同类型

Chain

spread ,spread_inside 和 packed 默认的类型是spread

Chain

spread: 它将平分间隙让多个 Views 布局到剩余空间.可以修改view的边距,那么spread模式下会自动将除去边距后的距离再次平均分配。

Chain
Chain
Chain
Chain

spread inside: 它将会把两边最边缘的两个 View 到外向父组件边缘的距离去除,然后让剩余的 Views 在剩余的空间内平分间隙布局。

Chain

spread和spread inside类型的chain可以使用weight来调整比重

前提是把layout_width统一都设置为0,然后分别设置layout_constrainHorizontal_weight即可。

Chain


Chain
Chain
Chain
Chain

packed:它将所有 Views 打包到一起不分配多余的间隙(当然不包括通过 margin 设置多个 Views 之间的间隙),然后将整个组件组在可用的剩余位置居中。

Chain

packed类型的chain可以使用bias进行位置偏移

Chain