什么是ConstraintLayout
1.约束布局,为子view添加约束来确定位置
2.这种布局可以减少嵌套,来减少过度绘制,从而优化布局
3.优点:减少嵌套,优化布局;可以直接拖拽方式布局
缺点:修改时容易错乱;代码可读性差
ConstraintLayout的使用
定位方式
1.相对定位:两个空间之间拖拽可实现
2.角度定位:layout_constraintCircle;layout_constraintCircleRadius;layout_constraintCircleAngle
3.边距margin
4.居中
5.尺寸约束(最高、最宽、宽高比)
6.链、权重链
ctrl依次点击每个控件,然后右键chains,选择水平链或者竖直链
权重链:layout_constraintHorizontal_weight改变空间水平方向上相对大小
7.pack
水平方向扩展或者竖直方向扩展
辅助方式
1.辅助线GuideLine
2.分割线Barrier
将控件隔离在某个控件之外
3.分组Group
将控件分组,同时控制这些控件的显示和隐藏
4.占位Placeholder
相当于空白的view
其他
表示方向的属性,比如margin、padding、gravity,他们的取值除了有left、top、right、bottom。还有start、end。
因为有的手机布局方式是从右往左看的,此时可使用start代替left,end代替right
在我们手机上,start=left;而在从右往左看的手机上,start=right