Android约束布局

Android约束布局问世已经有一段时间了,对于最初的一些开发者来说,早已习惯了相对布局或线性布局的使用,基本上可以满足日常开发的需求。但是这样一来,约束布局不就没有它存在的意义了吗。

从谷歌官方数据来看,约束布局在某些情况下表现要高于线性布局以及相对布局。其特点是层级单一,所有控件均处于同一层级。

学习时参考了这篇文章,写的不错。

带你了解Android约束布局ConstraintLayout

 

约束布局的强大

1、圆形定位

可以让一个控件以另一个控件的中心为中心点,来设置其相对与该中心点的距离和角度

2、障碍

当需要某一控件的位置是根据某几个控件宽度改变而改变时,可以设置某几个控件为一组,目标控件对这组控件设置障碍,从而达到效果。

3、Guidelines

在横纵两个方向上可以设置Guideline,其用于帮助控件约束时提供边界。如需要两个控件整体居中。则设置纵轴方向Guideline在50%地方,之后左右两边各一个控件既满足居中条件。

4、自动添加约束

自动添加约束的方式主要有两种,一种叫Autoconnect,一种叫Inference

Autoconnect是生效后,下一个添加的控件自动添加约束。

Inference是给当前页面内所有控件自动添加约束。

注意自动添加约束不会百分百的准确,仍然需要我们进行手动调整。

5、尺寸约束

约束布局中不推荐使用MATCH_PARENT这个值,如果想满足效果,设置宽或高为0dp。

6、宽高比

通过layout_constraintDimensionRatio设置一个比例即可,如2:1 。若希望宽度充满全屏,高度按比例,则需要在前面加上"H",之后再加上比例。宽和高同时要设置0dp。

7、百分百宽高

百分比宽高为设置自身一个0到1之间的值,以自身为基数乘以比例。

8、位置偏向

可以设置位置偏向某一方向百分比。如偏左30%,即控件整体位置偏左30%。

9、权重

与线性布局一样,约束布局也可以设置权重

10、链

约束布局提供了5种链式结构,权重链就是其中一种。使用不同的结构可以达到不同的效果。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值