目录
ConstraintLayout
Barrier
Group
Guideline
Placeholder
1.父布局约束<子控件位于布局中的什么位置默认绘制在左上角>
layout_constraintLeft_toLeftOf约束子View左对齐
layout_constraintRight_toRightOf约束子View右对齐
2.子View相对约束<控件相对于其他控件的位置 >
layout_constraintLeft_toRightOf(其他位置类似)相对于其他子View的位置
3.圆形约束<使用圆的方式设置边上的控件相对于圆心控件的位置>
layout_constraintCircle圆心子View
layout_constraintCircleRadius圆形半径
layout_constraintAngle定位角度
4.百分比约束<通过百分比的方式约束子控件的长宽>
控件宽高设置为0dp
设置控件的父布局约束
设置默认宽高为为父布局的宽高(layout_constraintWidth_default="percent",1.1-beta1和1.1-beta2中是必需的)
设置宽高所占的百分比(layout_constraintWidth_percent="0.5")
注意:强制限制生成的控件大小,不遵循自适应的设置宽高可以使用layout_constrainedWidth =“true | false”
5.子控件的宽高比
设置宽高至少一个为0dp
layout_constraintDimensionRatio="1:1"(浮点值,比例形式为宽度:高度)
如果两个尺寸都设置为MATCH_CONSTRAINT(0dp),您也可以使用比率。在这种情况下,系统设置满足所有约束的最大大小并保持指定的宽高比。要根据另一个特定边的大小来约束特定边,可以预先设置W,“或H”来分别约束宽度或高度。
android:layout_width =“0dp”
android:layout_height =“0dp”
app:layout_constraintDimensionRatio =“H,16:9”
app:layout_constraintBottom_toBottomOf =“parent”
app:layout_constraintTop_toTopOf =“parent”/>
6.链约束<链在单个轴(水平或垂直)上提供类似行的行为。另一个轴可以独立约束>
链由链的第一个元素(链的“头部”)上设置的属性控制
链式:在链的第一个元素上设置属性layout_constraintHorizontal_chainStyle或layout_constraintVertical_chainStyle
CHAIN_SPREAD - 元素将展开(默认样式)
加权链 - 在CHAIN_SPREAD模式下,如果某些小部件设置为MATCH_CONSTRAINT,它们将拆分可用空间
CHAIN_SPREAD_INSIDE - 类似,但链的端点不会分散
CHAIN_PACKED - 链的元素将被打包在一起。然后,子项的水平或垂直偏差属性将影响打包元素的定位.
加权链
链的默认行为是在可用空间中平均分布元素。如果一个或多个元素使用MATCH_CONSTRAINT,则它们将使用可用的空白空间(在它们之间平均分配)。 layout_constraintHorizontal_weight和layout_constraintVertical_weight属性将控制如何使用MATCH_CONSTRAINT在元素之间分配空间。例如,在使用MATCH_CONSTRAINT的包含两个元素的链上,第一个元素使用权重2,第二个元素使用权重1,第一个元素占用的空间将是第二个元素占用的空间的两倍。
边距和链条(1.1)
在链中的元素上使用边距时,边距是附加的
在水平链上,如果一个元素定义了10dp的右边距而下一个元素定义了5dp的左边距,则这两个元素之间产生的边距为15dp。
在计算链用于定位项目的剩余空间时,会同时考虑项目及其边距。剩余空间不包含边距。
限制线,多用于自适应的多个文本布局约束水平或垂直方向不能超过限制线。
constraint_referenced_ids="id1,id2"限制的控件id用逗号分隔
统一管理隐藏和显示的控件
constraint_referenced_ids="id1,id2"需要隐藏或显示控件id用逗号分隔
updatePostConstraints()更新约束条件
约束辅助线(完成复杂布局使用)
垂直辅助线或水平辅助线
orientation设置辅助线的方向
layout_constraintGuide_begin="100dp"从规定方向开始<普通布局方式>
layout_constraintGuide_end="100dp"到规定方向结束<同上>
layout_constraintGuide_percent="0.5"百分比布局
占位符提供可以定位现有对象的虚拟对象