学习参考
个人不推荐使用拖拽的方式,看的自己眼花缭乱,控件多了,很影响效率。必须掌握手写代码的方式直接在xml里面编写,可以参考,这篇文章学完你基本上就掌握了所有相关的代码写法。
visibility为gone的坑
当一个view,被作为其他view的约束条件时,把这个view的visibility设置为gone,你的布局会发生各种奇怪的现象。目前我只知道可以使用gone_margin这些属性来控制约束条件的view设置为gone后,自己的显示位置。但是我发现不是很好用。如果是一个基准的view设置为gone,那么会增加很多额外的代码来处理其他view的显示正常,感觉这里非常的繁琐,暂时没有想到很好的解决办法,如果谁知道,希望留言告知。
适用的地方
个人感觉在列表adapter的item布局里面比较适用,其他地方可以把原来适用相对布局的换成ConstraintLayout,减少相对布局里面的view层级。他并不能取代LinearLayout,LinearLayout从上而下的特性减少很多代码量。
个人使用感觉
建议不要所有布局都用ConstraintLayout,还是哪种方便优先使用哪种。如果是比较复杂的布局,建议最外层不要用哦ConstraintLayout,外层还是用基础布局,里面嵌套使用ConstraintLayout,要不然控件多了,你会发现约束非常麻烦,代码的可读性也比较低。例如LinearLayout+ConstraintLayout,一行或者一列复杂的就用ConstraintLayout。
总计
当然ConstraintLayout还是有它很大的优势的,要不然google不会默认设置外层布局为ConstraintLayout,自己适用数量了之后,可以基于布局的复杂层度来选择适用。不要一味地适用。