ConstraintLayout

本文参考郭霖的博客,原版出处:http://blog.csdn.net/guolin_blog/article/details/53122387

ConstraintLayout是Android Studio 2.2中主要的新增功能之一。Android Studio也支持可视化的方式来编写界面,但是操作起来并不方便。ConstraintLayout 的出现很好的解决这一现状,通过对控件的拖拽。

基本操作:

每个控件的约束都分为垂直和水平两类,一共可以在四个方向上给控件添加约束。

还可以使用约束让一个控件相对于另一个控件进行定位。

 

Inspector

三种模式可选,每种模式都使用了一种不同的符号表示,点击符号即可进行切换。

  •  表示wrap content,这个我们很熟悉了,不需要进行什么解释。
  •  表示固定值,也就是给控件指定了一个固定的长度或者宽度值。
  •  表示any size,它有点类似于match parent,但和match parent并不一样,是属于ConstraintLayout中特有的一种大小控制方式,下面我们来重点讲解一下。

 

Guidelines

 如果想让两个按钮共同居中对齐,需要用到ConstraintLayout中的一个新的功能,Guidelines。

 

自动添加约束

自动添加约束的方式主要有两种,一种叫Autoconnect,一种叫Inference。要使用Autoconnect,首先需要在工具栏中将这个功能启用,默认情况下Autoconnect是不启用的。

 Autoconnect可以根据我们拖放控件的状态自动判断应该如何添加约束,比如我们将Button放到界面的正中央,那么它的上下左右都会自动地添加上约束。Autoconnect会判断我们的意图,并自动给控件添加约束。不过不一定完全正确,可以作为辅助工具。

 

Inference也是用于自动添加约束的,但它比Autoconnect的功能要更为强大,因为AutoConnect只能给当前操作的控件自动添加约束,而Inference会给当前界面中的所有元素自动添加约束。因而Inference比较适合用来实现复杂度比较高的界面,它可以一键自动生成所有的约束。先把控件拖到合适的位置,点击 Infer Constraints

 

posted on 2017-07-24 15:56  MojoJojo  阅读(245)  评论(0)    收藏  举报

导航