在学习过程中把一些重点记录下:
1,链,
在链头的控件设置
layout_constraintHorizontal_chainStyle属性:设置链式模式,有三个值:
CHAIN_SPREAD —— 展开元素 (默认);
CHAIN_SPREAD_INSIDE —— 展开元素,但链的两端贴近parent;
CHAIN_PACKED —— 链的元素将被打包在一起。
可以延伸出两种情况:
注意:设置weight,一定先把 layout_width或者layout_height设置成0dp或者match_constraint,取决于是横向还是竖向。
如果B,C设置match_constraint,那么B,C将平均占据剩下的空余空间。
添加bias属性;
layout_constraintHorizontal_weight(constraintVertical为纵向)来创建一个权重链;
2,相对定位中有个属性:layout_constraintBaseline_toBaselineOf
如果想让两个不一样大的控件文字对其,那么可以使用这个属性:
3,角度定位:
app:layout_constraintCircle="@+id/TextView1"
app:layout_constraintCircleAngle="120"(角度)
app:layout_constraintCircleRadius="150dp"(距离)
这三个属性明白就ok了。
4,偏移
layout_constraintHorizontal_bias 水平偏移
layout_constraintVertical_bias 垂直偏移
用bias属性可以更好的是控件适应屏幕
5,尺寸
设置宽高比
app:layout_constraintDimensionRatio="H,2:3"指的是 高:宽=2:3
app:layout_constraintDimensionRatio="W,2:3"指的是 宽:高=2:3
当设置成match_constraint,可以使用 layout_constraintWidth_percent
或者layout_constraintHeight_percent
来限定
6,辅助工具:
6.1,Optimizer
layout_optimizationLevel 属性
6.2,Barrier
6.3, Group
6.4, PlaceHolder
6.5, GuideLine
总结:
如果看详细的参考:https://www.jianshu.com/p/17ec9bd6ca8a 讲的挺详细;
还有就是官网:https://developer.android.google.cn/reference/android/support/constraint/ConstraintLayout