ConstraintLayout的学习笔记

资料来源

https://blog.csdn.net/guolin_blog/article/details/53122387

老郭的入门

https://blog.csdn.net/lmj623565791/article/details/78011599?utm_source=tuicool&utm_medium=referral

属性完全解析

https://blog.csdn.net/guolin_blog/article/details/53122387


xml属性的讲解

https://blog.csdn.net/zhaojian3513012/article/details/47106873

虽然是苹果的自定义布局

但是添加View的层次原则很有帮助

同级的View添加到他们的父View上

两个不同层级的View,添加到他们最近的共同的父view上

对于有层次关系的两个View,添加到层次较高的View上

看下面的就会了

https://blog.csdn.net/io_field/article/details/77894191

https://blog.csdn.net/io_field/article/details/77947428

大佬的操作,看了基本就会了


这段时间在使用constraint布局,总结的一些经验

1.缺点:布局复用麻烦,工程量比较大

因为其他布局,遇到重复的部分,可以直接复制粘贴代码.约束布局不行

而且约束布局中每一个控件你都需要调整,如果只用约束布局,因为控件间是相互关联的,所以牵一发而动全身,可能只是改了一个参数,整个布局就会变成一团.

对单个控件管理很糟糕,因为控制这个控件位置的不是直接的布局,而是布局中其他的控件.

这个问题其实很好解决,一个是要梳理好级别关系,同级不互相约束,尽量把约束关系限定在上下级控件之间,方便以后的改动和管理

另一个就是对于要复用或者特殊要求的控件,用layout来包装


2.优势:可以实现所有其他布局的功能,而且比原有的布局更有优势.扁平化布局比多层嵌套的性能好,速度快

写的快,也是一个优势,编写界面就像画图...

3.总结:刚开始我还在用基本的布局,通过xml文件来写布局,学习了约束布局以后,认为约束布局可以胜任项目中的所有任务,开始用约束布局来写页面.

后来发现工作量一点也不小,而且因为不能复用,类似的页面,我也需要重新写,所以又回归了基础布局的工作方式.

这个时候的我才发觉,各种布局应该物尽其用,没有谁能一统天下,可以完全取代其他布局的角色

约束布局的功能很强大,但是单层次的线性布局,LinearLayout实现起来更快,而且以后的新页面也方便复用

约束布局更适合一些规模小的复杂布局,比如精确控制当前view的长宽比例.让容器中的某个控件动态填充空间的大小.等等实现起来的自由度更高.整个页面结构还是推荐用基础的布局来控制.


填坑

控制控件的大小

https://blog.csdn.net/h8800830/article/details/53014661

结论

1.实现水平方向线性布局,所有的View都必须设置左右边界控制属性,而且相互控制 

2.实现比重大小控制,必须设置layout_width=”0dp”

3,设置layout_constraintHorizontal_weight属性



猜你喜欢

转载自blog.csdn.net/rungby/article/details/80421432
今日推荐