Android 约束布局(ConstraintLayout)详解

看这个效果,有没有一种「五马分尸」的感觉?当只有一条边拉这个 Button 时,Button 马上就被拉过去了,但是当四个边都开始拉这个 Button 时,Button 就在中间动弹不得了。

看完了动图,我们再来看看 XML 布局中的变化:

因为我们的目的是想让这个 Button 居中,但是它却默认给我们添加了 margin,这个显然是多余的。
如果不想每次添加约束后都在这条边的约束上添加 margin,我们可以在上面的工具栏中进行设置:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

抛去 margin 相关的属性,那么约束父控件的相关属性就是如下这些了:

app:layout_constraintTop_toTopOf=“parent”
app:layout_constraintLeft_toLeftOf=“parent”
app:layout_constraintRight_toRightOf=“parent”
app:layout_constraintBottom_toBottomOf=“parent”

在上面的图中我们已经看到了,每个控件的上下左右都有一个圆圈,用于添加约束的。
那么这些属性的 constraintXXX 就是指定的当前控件的约束位置的,而 toXXX 就是目标约束位置。
这个位置可以是上面的例子一样是 parent (也就是父控件),也可以是另一个控件。

接下来我们再来看看对于其他控件的约束。
再拖一个 Buttton 进入蓝图中,然后给这个 Button 添加约束:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

XML 布局:

添加完约束了,如果要删除指定的单个约束的话,单击变红的圆圈即可:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

或者是上面提到了,删除指定控件的所有约束。

或者是工具栏中的,删除页面所有的约束:

外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传

基线约束

基线约束的作用就是将视图的文本基线与另一个视图的文本基线对齐:

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值