1、目标任务:
继续学习约束布局ConstraintLayout,
2、预计时间:
1天
3、完成情况:
(6)尺寸约束:控件的尺寸可以通过四种不同方式指定
-
使用指定的尺寸
-
使用wrap_content,让控件自己计算大小
当控件的高度或宽度为wrap_content时,可以使用下列属性来控制最大、最小的高度或宽度:
android:minWidth 最小的宽度
android:minHeight 最小的高度
android:maxWidth 最大的宽度
android:maxHeight 最大的高度 -
注意!当ConstraintLayout为1.1版本以下时,使用这些属性需要加上强制约束,如下所示:
app:constrainedWidth=”true”
app:constrainedHeight=”true” -
使用 0dp (MATCH_CONSTRAINT)
官方不推荐在ConstraintLayout中使用match_parent,可以设置 0dp (MATCH_CONSTRAINT) 配合约束代替match_parent,
(7)辅助工具:Optimizer
使用 MATCH_CONSTRAINT 时,ConstraintLayout 将对控件进行 2 次测量,ConstraintLayout在1.1中可以通过设置 layout_optimizationLevel 进行优化
none | 无优化 |
standard | 仅优化直接约束和屏障约束(默认) |
direct | 优化直接约束 |
barrier | 优化屏障约束 |
chain | 优化链约束 |
dimensions | 优化尺寸测量 |
(8)辅助工具:Barrier
app:barrierDirection为屏障所在的位置,可设置的值有:bottom、end、left、right、start、top
app:constraint_referenced_ids为屏障引用的控件,可设置多个(用“,”隔开)
app:constraint_referenced_ids为屏障引用的控件,可设置多个(用“,”隔开)
(9)辅助工具:Group
Group可以把多个控件归为一组,方便隐藏或显示一组控件
4、遇到问题:
无