安卓开发教程12:约束布局ConstraintLayout

160 阅读3分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第12天,点击查看活动详情

前面我们介绍了Android中常用的三种布局方式,今天来介绍一下第四种常用的布局方式,约束布局ConstraintLayout。

相对布局用来帮助线性布局解决嵌套的层数多时局限性的问题。那么今天的约束布局其实就跟相对布局比较相似了,但是它比相对布局更加灵活,并且它还可以在Android Studio 的布局编辑器中直接拖拽使用。

约束布局的特点

  1. 比相布局更加灵活,可以简化嵌套的深度。
  2. 可以用比例来做屏幕适配,适配效果好。
  3. 可以直接拖住使用,编辑方便。

约束布局的属性

属性说明
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,让它们分别对应父组件左上角,右上角,居中布局

image.png

例2: 子组件对应子组件

同样定义三个TextView,让第一个距父组件居中对齐,让第二个的上边对齐第一个的下边,让第三个的左边对齐第一个的右边。

image.png

例3: 角度对齐方式

我们定义两个TextView,第一个距父组件居中对齐,第二个以中心距离第一个中心160度方向偏移80dp。

image.png

例4: 均匀等分

我们定义两个TextView,第一个与父组件Start对齐,End与第二个Start对齐,第二个与父组件End对齐,Start与第一个End对齐。

image.png

例5: 按照比例均匀等分

给例4 的两个TextView 添加 layout_constraintHorizontal_weight属性,设置第一个比例为2,第二个比例为1

image.png

其他属性

属性说明
layout_marginStart开始边距
layout_marginEnd结束边距
layout_marginLeft左边边距
layout_marginRight右边边距
layout_marginTop上面边距
layout_marginBottom下面边距
minWidth布局最小宽度
minHeight布局最小高度
maxWidth布局最大宽度
maxHeight布局最大高度

约束布局的基本属性特点,以及使用方法基本到此我们都介绍完毕了。那么Android的六大布局我们也介绍了四种,剩余的两种平时很少能用到,就不多做介绍了。重要的还剩那句话满足需求的前提下灵活搭配使用。