UI编程中使用 ConstraintLayout| 青训营笔记

149 阅读3分钟

这是我参与「第四届青训营 」笔记创作活动的第7天

在【常规&高级UI编程】课程中

讲师为我们介绍了LinearLayout,RelativeLayout,FrameLayout,ConstraintLayout的基本使用与区别。

在各大常用视图组中,ConstraintLayout是比较新的,也是谷歌官方推荐使用的。近几年里得到了广泛的运用,成为Android首选的优秀视图组

在实际的使用中,ConstraintLayout具有几个较好的优点,让它得到广泛运用。

其一。ConstraintLayout视图可以使用扁平视图层次。她脱胎于RelativeLayout的关系思维,但相比之下更加充分地灵活地扩充了关系的使用。相比于过去的所有视图ConstraintLayout能够在无嵌套视图组的要求下完成复杂的大型的布局创建工作。这给其带来了更高的代码效率和视图性能。加快用户的APP视图计算速度,增加APP的流畅度——对于用户体验相当重要。

其二。ConstraintLayout能结合Android Studio布局编辑器的可视化工具来创建。大大降低了代码工作量,并有效推进创建工作的进行。

其三。ConstraintLayout能够结合约束条件的正确使用,实现对不同屏幕的自动适应能力。防止硬性属性的使用使得APP在不同屏幕的设备中出现ui的不统一甚至位置出错。

以下,我将就ConstraintLayout的使用,结合Android官方开发者文档进行一定的解释,介绍。

约束条件

约束条件的运用是ConstraintLayout(约束布局)中最重要的一个环节。 各种约束条件将决定视图中各组件的位置。

同时,约束条件的使用也是实现ui自适应屏幕的最重要一环。

在ConstraintLayout中使用约束条件,主要有以下几个要点。

其一。定义视图的位置,其必须只要拥有一个水平约束,垂直约束。否则便会自动出现在Parent的左上角(0,0)位置。

其二。约束条件类似于弹力绳。方向相反的约束条件能够将视图固定在中间位置。同时,可以通过调整约束偏差,调解弹力绳上“力”的大小,完成对不同视图位置的比例性确定

image-20220730163232279.png (图片下方滑动条即为约束偏差的调整工具)

视图大小

在ConstraintLayout中,为了实现ui的自适应屏幕,视图大小应该使用match constraint(0dp)而不是一个确定的硬性属性(除非线状视图)。

使用引导线和屏障

要创建(Guildline)引导线/(Barrier)屏障。 可点击工具栏的 Guidelines,然后点击选择所要创建的视图工具

两者的区别在于,Guildline位置固定,能够结合约束关系帮助固定视图。Barrier的位置不固定,可以随着视图的移动而移动,并管理一个视图组合的位置关系防止其越界。

以上就是对重要工具ConstraintLayout的使用介绍