持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情
前面我们介绍了Android中常用的三种布局方式,今天来介绍一下第四种常用的布局方式,约束布局ConstraintLayout。
相对布局用来帮助线性布局解决嵌套的层数多时局限性的问题。那么今天的约束布局其实就跟相对布局比较相似了,但是它比相对布局更加灵活,并且它还可以在Android Studio 的布局编辑器中直接拖拽使用。
约束布局的特点
- 比相布局更加灵活,可以简化嵌套的深度。
- 可以用比例来做屏幕适配,适配效果好。
- 可以直接拖住使用,编辑方便。
约束布局的属性
| 属性 | 说明 |
|---|---|
| layout_constraintStart_toStartOf | 开始于某个组件的开始 |
| layout_constraintStart_toEndOf | 开始于某个组件的结束 |
| layout_constraintEnd_toStartOf | 结束于某个组件的开始 |
| layout_constraintEnd_toEndOf | 结束于某个组件的结束 |
| layout_constraintTop_toTopOf | 上面与某组件上面对其 |
| layout_constraintTop_toBottomOf | 上面与某组件下面对其 |
| layout_constraintBottom_toTopOf | 下面与某组件上面对其 |
| layout_constraintBottom_toBottomOf | 下面与某组件下面对其 |
| 。。。 |
我们看到这些属性有一些规律,layout_constraintA_toBOf, A,B代表的就是组件的上下左右位置(A为当前组件,B为目标组件),还有没列出来的 Right(右侧)Left(左侧)。
接下来我们来写个例子看一下这些属性怎么使用。
例1: 子组件对应父组件
我们定义三个TextView,让它们分别对应父组件左上角,右上角,居中布局
例2: 子组件对应子组件
同样定义三个TextView,让第一个距父组件居中对齐,让第二个的上边对齐第一个的下边,让第三个的左边对齐第一个的右边。
例3: 角度对齐方式
我们定义两个TextView,第一个距父组件居中对齐,第二个以中心距离第一个中心160度方向偏移80dp。
例4: 均匀等分
我们定义两个TextView,第一个与父组件Start对齐,End与第二个Start对齐,第二个与父组件End对齐,Start与第一个End对齐。
例5: 按照比例均匀等分
给例4 的两个TextView 添加 layout_constraintHorizontal_weight属性,设置第一个比例为2,第二个比例为1
其他属性
| 属性 | 说明 |
|---|---|
| layout_marginStart | 开始边距 |
| layout_marginEnd | 结束边距 |
| layout_marginLeft | 左边边距 |
| layout_marginRight | 右边边距 |
| layout_marginTop | 上面边距 |
| layout_marginBottom | 下面边距 |
| minWidth | 布局最小宽度 |
| minHeight | 布局最小高度 |
| maxWidth | 布局最大宽度 |
| maxHeight | 布局最大高度 |
约束布局的基本属性特点,以及使用方法基本到此我们都介绍完毕了。那么Android的六大布局我们也介绍了四种,剩余的两种平时很少能用到,就不多做介绍了。重要的还剩那句话满足需求的前提下灵活搭配使用。