ConstraintLayout解析
本文于 2605 天之前发表,文中内容可能已经过时。
年前有个面试,面试中问到是否熟悉ConstraintLayout(约束布局)?我答了用过,脑袋里有个印象但是实际上是模糊的,趁此机会写篇文章重新认识下ConstraintLayout。
源起
- 聪明的小伙伴,我们先来猜测下ConstraintLayout怎么产生的?或者换种方式问,是为了解决什么问题?
在年前的面试中,我首先问了下面试官是否可以猜测下它的作用?笑 我就说了碎片化,一看脸色,我就感觉答的不对哈,然后,转念一想约束布局,重点是约束两个字,想了一会儿,是在没什么想法,当然面试官告诉作用,说是布局的时候可以拖拽,这个题就gg了。(┬_┬)
- 过年快过完了,我也开始重新梳理。先吹一波😄,万能的度娘上搜了鸿洋大大写的一篇ConstraintLayout 完全解析 快来优化你的布局吧开始入手。回到正题,ConstraintLayout库出现被用来解决什么问题呢?这里我就不卖关子了,他主要是解决复杂UI多层嵌套的性能差,维护成本高。如果需要看详细的分析,可以看下Google中文官方推出了一篇解析ConstraintLayout的性能优势文章。
如何使用
ConstraintLayout使用方式 | 优点 | 缺点 |
---|---|---|
可视化拖拽布局 | 对于简单布局,容易操作 | 学习成本低,复杂布局不适合 |
手写式布局 | 对于复杂布局,手写往往更快速并清晰 | 学习成本相对高,需要熟悉约束布局的属性 |
如何可视化拖拽布局
- 可视化拖拽控件,进行布局
如何手写式布局
- 可视化拖拽控件,进行布局