ConstraintLayout
是Android中的布局容器,在使用时需要掌握它支持的属性,以下是ConstraintLayout
常用属性:
属性名 | 数据类型 | 说明 |
---|---|---|
app:layout_constraintWidth_default | enum | 宽度默认值,可选为wrap , match |
app:layout_constraintWidth_min | dimension | 宽度最小值 |
app:layout_constraintWidth_max | dimension | 宽度最大值 |
app:layout_constraintHeight_default | enum | 高度默认值,可选为wrap , match |
app:layout_constraintHeight_min | dimension | 高度最小值 |
app:layout_constraintHeight_max | dimension | 高度最大值 |
app:layout_constraintCircle | reference | 与参考视图建立圆形连接,要求两个视图中心重合并且使用layout_constraintCircleRadius 属性指定圆半径 |
app:layout_constraintCircleAngle | float | 与参考视图建立圆形连接时的起始角度 |
app:layout_constraintCircleRadius | dimension | 与参考视图建立圆形连接时的圆半径 |
app:layout_constraintEnd_toEndOf | reference | 与参考视图的结束位置对齐 |
app:layout_constraintEnd_toStartOf | reference | 与参考视图的开始位置对齐 |
app:layout_constraintStart_toEndOf | reference | 起始位置对齐参考视图的结束位置 |
app:layout_constraintStart_toStartOf | reference | 起始位置对齐参考视图的起始位置 |
app:layout_constraintTop_toTopOf | reference | 与参考视图的顶部对齐 |
app:layout_constraintTop_toBottomOf | reference | 与参考视图的底部对齐 |
app:layout_constraintBottom_toBottomOf | reference | 与参考视图的底部对齐 |
app:layout_constraintBottom_toTopOf | reference | 与参考视图的顶部对齐 |
app:layout_constraintHorizontal_weight | float | 水平方向的权重,指定多个视图中分配额外空间的比例 |
app:layout_constraintVertical_weight | float | 垂直方向的权重,指定多个视图中分配额外空间的比例 |
app:layout_constraintHorizontal_chainStyle | enum | 水平方向的对齐方式,可选为:spread ,spread_inside ,packed |
app:layout_constraintVertical_chainStyle | enum | 垂直方向的对齐方式,可选为:spread ,spread_inside ,packed |
app:layout_constraintHorizontal_bias | float | 水平方向上的偏移百分比,0表示左对齐,1表示右对齐 |
app:layout_constraintVertical_bias | float | 垂直方向上的偏移百分比,0表示顶部对齐,1表示底部对齐 |
app:layout_constraintDimensionRatio | string | 尺寸比例,如2:3 表示宽高比为2:3 |
app:layout_constraintHorizontal_align | enum | 水平方向上的对齐方式,可选为: right , left , center , start , end |
app:layout_constraintVertical_align | enum | 垂直方向上的对齐方式,可选为:bottom , top , center , baseline |
app:layout_constraintWidth_percent | float | 宽度相对于父布局宽度的百分比,0表示宽度为0,1表示宽度和父布局一致 |
app:layout_constraintHeight_percent | float | 高度相对于父布局高度的百分比,0表示高度为0,1表示高度和父布局一致 |
app:layout_constraintWidth | dimension | 指定宽度值,默认为wrap_content ,可选为wrap_content , match_constraints , dimension |
app:layout_constraintHeight | dimension | 指定高度值,默认为wrap_content ,可选为wrap_content , match_constraints , dimension |
以下是更多的ConstraintLayout属性详细介绍:
- app:layout_constraintStart_toStartOf
将此view的开始边与另一个view的开始边对齐,或将此view的开始边与布局的开始边对齐。
可选值:reference.
- app:layout_constraintStart_toEndOf
将此view的开始边与另一个view的结束边对齐。
可选值:reference.
- app:layout_constraintTop_toTopOf
将此view的顶部边与另一个view的顶部边对齐,或将此view的顶部边与布局的顶部边对齐。
可选值:reference.
- app:layout_constraintTop_toBottomOf
将此view的顶部边与另一个view的底部边对齐。
可选值:reference.
- app:layout_constraintBottom_toBottomOf
将此view的底部边与另一个view的底部边对齐。
可选值:reference.
- app:layout_constraintBottom_toTopOf
将此view的底部边与另一个view的顶部边对齐。
可选值:reference.
- app:layout_constraintHorizontal_weight
指定在horizontal
方向上布局中额外空间的分配比例。例如,如果自动布局需要增加一些空间,则将按权重比例分配。
可选值:float.
- app:layout_constraintVertical_weight
指定在vertical
方向上布局中额外空间的分配比例。例如,如果自动布局需要增加一些空间,则将按权重比例分配。
可选值:float.
- app:layout_constraintHorizontal_chainStyle
指定在horizontal
方向上排列一组相关视图的行为。
可选值:spread
| spread_inside
| packed
.
-
spread
: 将空间均匀分配给视图,使它们沿水平轴展开。 -
spread_inside
: 与spread
相同,但不包括第一个和最后一个视图之间的空间。用于内部边距布局。 -
packed
: 收紧沿水平轴排列的视图,将它们沿中心线对齐,而不是均匀分布。
- app:layout_constraintVertical_chainStyle
与app:layout_constraintHorizontal_chainStyle
类似,指定在vertical
方向上排列一组相关视图的行为。
可选值:spread
| spread_inside
| packed
.
- app:layout_constraintHorizontal_bias
指定此view在horizontal
方向上与关联视图的开始位置之间的偏移量,作为与关联视图的距离的一部分。
可选值:float,0表示左对齐,1表示右对齐。
- app:layout_constraintVertical_bias
指定此view在vertical
方向上与关联视图的上部位置之间的偏移量,作为与关联视图的距离的一部分。
可选值:float,0表示顶部对齐,1表示底部对齐。
- app:layout_constraintDimensionRatio
指定view的宽高比。
可选值:string.
- app:layout_constraintHorizontal_align
指定此view与关联视图在horizontal
方向上对齐的类型。例如,可以让此view的左端对齐关联视图的左边/右边(app:layout_constraintLeft_toLeftOf或app:layout_constraintLeft_toRightOf)。
可选值:right
| left
| center
| start
| end
.
- app:layout_constraintVertical_align
指定此view与关联视图在vertical
方向上对齐的类型。例如,可以让此view的底端对齐关联视图的底部/顶部(app:layout_constraintBottom_toBottomOf或app:layout_constraintBottom_toTopOf)。
可选值:bottom
| top
| center
| baseline
.
- app:layout_constraintWidth_percent
指定此view宽度与父布局宽度的比例。
可选值:float,0表示宽度为0,1表示与父布局宽度一致。
- app:layout_constraintHeight_percent
指定此view高度与父布局高度的比例。
可选值:float,0表示高度为0,1表示与父布局高度一致。
- app:layout_constraintWidth
指定view的宽度值,默认为wrap_content
,也可以设置为match_constraints
或指定具体值的dimension
。
可选值:wrap_content
| match_constraints
| dimension
.
- app:layout_constraintHeight
指定view的高度值,默认为wrap_content
,也可以设置为match_constraints
或指定具体值的dimension
。
可选值:wrap_content
| match_constraints
| dimension
.
- app:layout_constraintWidth_min
指定view的最小宽度值。
可选值:dimension.
- app:layout_constraintHeight_min
指定view的最小高度值。
可选值:dimension.
- app:layout_constraintWidth_max
指定view的最大宽度值。
可选值:dimension.
- app:layout_constraintWidth_percent
指定view宽度相对于父布局宽度的百分比。
可选值:float,0表示宽度为0,1表示与父布局宽度一致。
- app:layout_constraintHeight_percent
指定view高度相对于父布局高度的百分比。
可选值:float,0表示高度为0,1表示与父布局高度一致。
- app:layout_constraintWidth_default
指定view的默认宽度和最终宽度之间的关系。
可选值:wrap
(wrap_content)| match
(match_parent).
默认值:wrap
.
- app:layout_constraintHeight_default
指定view的默认高度和最终高度之间的关系。
可选值:wrap
(wrap_content)| match
(match_parent).
默认值:wrap
.
- app:layout_constraintHorizontal_weight
指定在horizontal
方向的布局中,分配额外空间的比例,用于指定多个视图之间分配额外的空间。
可选值:float.
- app:layout_constraintVertical_weight
指定在vertical
方向的布局中,分配额外空间的比例,用于指定多个视图之间分配额外的空间。
可选值:float.
这些属性涵盖了ConstraintLayout
支持的大部分属性。在使用ConstraintLayout
布局时,掌握这些属性非常重要,并且要根据实际需求选取适合的属性进行布局。