什么是ConstraintLayout
顾名思义,ConstraintLayout即约束布局或限制性布局。它是一种新的布局方式,可以看做是RelativeLayout的增强,向下兼容至API level 9(Android 2.3),并且是support library的一部分,也就是说,能兼容目前绝大多数的Android设备。它的目标是减少布局的层级,同时改善布局性能,还减少了使用RelativeLayout的复杂性。
使用ConstraintLayout需要安装Android Studio 2.2,预览版也可以。AS 2.2专门为ConstraintLayout开发了一套新的布局编辑器。新的编辑器极其强大,用拖拽就可以完成界面开发,无需编辑XML。
(动图示例,这慢动作的动画,看起来是不是火箭发射的仪式感。)
开发者从现在开始就可以学习ConstraintLayout,在Android Studio 2.2正式版发布,以及相对应版本的support library发布之后,就可以在项目中使用了。
官方资料
目前ConstraintLayout的资料还比较少,甚至没有一个正式的官方视频介绍。不过官方提供了一个Codelab,包括一个示例项目,供开发者学习。
New Layout Editor with Constraint Layout
http://tools.android.com/tech-docs/layout-editor
Android官网介绍了为ConstraintLayout设计的新布局编辑器,包括Constraint介绍,添加ConstraintLayout到项目中,以及使用布局编辑器添加约束。
Using ConstraintLayout to design your views
https://codelabs.developers.google.com/codelabs/constraint-layout/index.html
官方的Codelabs,附带示例项目,做一遍之后也算是对这个布局有基本的了解。这个课程步骤并不多,每一步也并不复杂,看起来ConstraintLayout学习还是挺简单的。
民间资料
下面是两个视频,展示ConstraintLayout和新的布局编辑器。如果暂时下载不了Android Studio 2.2,也可以先看视频了解一下。
(民间开发者录的视频,没有声音,就用鼠标在上面画字,比较写意。)
安卓约束控件(ConstraintLayout)扁平化布局入门
http://www.jianshu.com/p/792d2682c538
目前看到的唯一比较详细的中文资料,推荐阅读。
ConstraintLayout 101 & the new Layout Builder in Android Studio
http://riggaroo.co.za/constraintlayout-101-new-layout-builder-android-studio/
Exploring the new Android ConstraintLayout
https://medium.com/exploring-android/exploring-the-new-android-constraintlayout-eed37fe8d8f1
两篇英文教程。然后没了,目前ConstraintLayout的学习资料确实只有这么多。
另外StackOverview上面也有一些比较ConstraintLayout和RelativeLayout、何时使用ConstraintLayout等的问答,大家也可去看看。
阿里百川(baichuan.taobao.com)是阿里巴巴集团的无线开放平台,通过“技术、商业及大数据”的开放,提供移动场景下的高内聚、开放式、行业领先的技术产品矩阵、成熟的商业组件和完善的服务体系,帮助移动开发者快速搭建APP、加速APP商业化进程,全方位赋能移动开发者及移动创业者。
