ConstraintLayout 约束布局的几个新特性笔记整理

发布于 2019-02-15  298 次阅读


1.约束比(偏移比率)

使用前提:控件的四个方向都被约束

属性/栗子 参数 说明
app:layout_constraintHorizontal_bias="0.3" float 水平约束比
app:layout_constraintVertical_bias="0.3" float 竖直约束比

2.宽高比

使用前提:控件宽高指定其一0dp表示待约束(比如:w=100dp,h=0dp)
- 1.3:2默认(省略带约束边,这里是H,表分母)表示宽:高= 3:2
- 2.H, 3:2W, 3:2未被约束的边表示倒置

在这里插入图片描述

属性/栗子 参数
app:layout_constraintDimensionRatio="3:2" 宽度:高度或者float

3.1.权重

使用前提:相关控件必须水平或者竖直方向上呈“链表关系”
app:layout_constraintHorizontal_weight

属性/栗子 说明
app:layout_constraintHorizontal_weight="2" 同LinearLayout效果
app:layout_constraintVertical_weight="2" 同LinearLayout效果

3.2.连锁风格

使用前提:辅助3.1的权重
layout_constraintHorizontal_chainStyle
- 1.spread:(默认可省略),可用空间平分
- 2.packed:元素包裹在一起。子控件的水平或垂直方向的偏置bias属性会影响包裹中元素的位置。
- 3.spread_inside:元素展开,但链的端点不会展开

在这里插入图片描述

属性/栗子 说明
app:layout_constraintHorizontal_chainStyle="spread" spread、packed、spread_inside
app:layout_constraintVertical_chainStyle="spread" spread、packed、spread_inside

4.辅助线

Guideline

属性/栗子 参数 说明
android:orientation="vertical" horizontal、vertical 参考线方向
app:layout_constraintGuide_begin="100dp" dimension 根据orientation距离左/上距离
app:layout_constraintGuide_end="100dp" dimension 根据orientation距离右|下距离
app:layout_constraintGuide_percent="0.6" float 相对于父元素的百分比

赤夜染尽 千樱散落 零时夜雨 无茵之音