Android开发 - 掌握ConstraintLayout(三)编辑器

从本篇博客开始我们开始介绍如何使用ConstraintLayout。
既然ConstraintLayout叫约束布局,首先我们先介绍什么叫约束(Constraints):

约束(Constraints)

一个约束表示View之间的”布局约束”关系,以及约束的位置,类似RelativeLayout的”相对”概念。

编辑器介绍

在工程中我们新建一个布局activity_main.xml,整个界面如下:

-w1280

这是一个编辑器整体的界面,下面我们来介绍一些常用的功能:

  • 设计/文本视图

-w233

左下角有视图切换的选项,通过这个选项我们可以切换设计/(代码)文本视图,传统在开发的过程中可能觉得设计视图并不常用,但是在使用ConstraintLayout时它确实很强大,反而可能很少用代码视图了。

  • 设计/蓝图

-w702

这里我们可以看到左上角的按钮,这个是用来切换设计界面和蓝图界面的,通常我们需要两个界面都展示,这样我们可以更加清晰地看到各个View的约束。

  • 设备与分辨率适配

-w361

这个功能我们可以切换横竖屏等UI的模式,这个功能也可以使我们方便的进行各种UI模式的适配。

-w509

在这里我们可以预览当前布局在不同的分辨率下的效果,这个功能在适配的时候非常方便,这里提一下下面的Custom选项,这个功能允许我们将当前布局拖拽成任意的大小:

-w536

  • 自动约束

-w700

这个功能允许编辑器自动进行约束,当我们拖拽一个空间到视图中后,编辑器会自动为我们创建一个约束,可能很多时候我们并不需要自动约束,我们可以点击把它关闭。

  • 约束推断

-w700

这个按钮类似PS的魔棒,它的功能是进行约束的推断,如图我拖拽了两个按钮到布局中,一开始并没有任何约束,当我点击了这个按钮后,自动为我生成了如图的约束。

代码视图

我们切换到代码视图:

-w836

此时我们发现界面的哪些约束在代码中也仅仅增加了几行代码,用来表示当前的约束,仔细观察后我们发现其实都是toStartOf,toEndOf,toTopOf…,这些都是指定的当前View与其它View(或Parent)之间的关系,对比一下RelativeLayout,我们很容易就能明白。

如果当前没有任何约束的时候,我们观察代码:

-w826

注意这些tools:xxx,只是表示View在编辑器的绝对位置,是用来我们设计(拖拽)时使用的。如果不添加约束,运行后只是显示在屏幕的左上角,重叠在一起。

总结

本文我们主要讲解了ConstraintLayout编辑器常用功能的使用。这些功能灵活且方便地帮助我们布局页面。下一篇:Android开发 - 使用ConstraintLayout(四)创建基本约束我们将介绍使用基本的约束。

本文地址,如有更多疑问,请参考我的其它Android相关博客:我的博客地址