2021 年的第 26 篇原创文章

距离 2021 年 40 篇原创目标还剩 14

auto layout 自动布局,毫无疑问是 figma 的大杀器,正如 symbol 之于 sketch,database 之于 notion。

它是当之无愧的核心卖点,也是让其在设计工具之战中突破重围的胜负手。

今天,咱们就来聊聊这自动布局,没意外的话,它应该是我 figma 系列的最后一篇。

前排提醒:动画较多,为保证流畅的阅读体验,建议保持良好网络。

01**为啥自动布局得压轴讲 **

why yazhou


首先,设计师的日常工作,除了 20% 在发挥创意,剩下的80% 都是在重复劳动;而这 80% 的重复劳动中,又有80% 和布局相关

形、色、字、质,基本可以沿用规范。唯布局这一块占据了大量精力。

对于界面中的元素,我们需要不断得对齐、编排、审查和调整间距等等。

而当元素发生了尺寸、增减或顺序的变化后,为了维持原有的规则,你又得花上新一轮的成本重新调整布局。 所以,很多时候看似你每天干了很多,但回过头来想想又感觉什么也没干。

一轮接一轮的需求,循环不止的重复工作很容易让你身心俱疲。

自动布局的出现,完美得解决了这一大痛点。

可以这么说,一个擅长使用自动布局的设计师,有着高出旁人双倍不止的生产效率,也能预留出双倍不止的时间留给创意或者自我成长。

将它压轴讲的第二点,在于自动布局能够极好得承接起前面我所讲的几乎所有东西——frame、组件、约束等等。这样顺畅的逻辑可以更好得传达信息,从而助于各位的理解和掌握。

02**自动布局是什么 **

what


通俗点说,自动布局,就是,你先制定一个 **标准化布局规则(比如想保持 20px 间距、保持左对齐等)。然后当子级发生尺寸、增减等变化后,父级能基于这个布局规则产生适应变化,或者父级尺寸发生变化后,子级能基于规则产生适应变化。**

比如下面这个例子,就是自动布局化的结果:

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图1

自动布局的图标

自动布局图标由两个矩形排列而成,并且图标中的排列方向既当前对象布局的方向,可以说是很形象了。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图2

看过【6000 字超干干货】没搞定这个概念,figma 就真的白用了!→的小伙伴,应该知道这个前置,只有frame才能自动布局。

如果自动布局的对象还不是 frame,那么在自动布局的同时,figma 会自动创建一个 frame。

因此只需要创建就行,不用担心对象不是 frame。

03**自动布局该如何上手 **

how


自动布局的创建、复原

如图,使用快捷键 shift+A 或点击「新增」按钮即可创建,shift+alt+A 或者点击「删除」按钮即可复原。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图3

自动布局的两类组合方式

自动布局的组合方式取决于初始的摆放位置。

并列型

比如咱们画几个很随意的矩形,再把它们随意得散落在画布上,shift+A 后,四个元素就会自动对齐。这种组合方式,咱们称之为「并列型」。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图4

从左侧图层列表可以看到,自动布局后 figma 会自动为你创建好一个 frame,虽然图标变了,但不论是图层名和属性名都在明确告诉你,它依旧是 frame

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图5

包含型

如果,我将其中三个矩形放置于最大的矩形上,让其形式上趋向于一个包含关系,那么在 shift+A 后,你会发现个头最大的那个,真的成为了收纳三个小矩形的容器。这种组合方式,咱们可以称之为「包含型」。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图6

而如果将三个矩形替换为一行文字,一个自动布局的按钮就这么诞生了。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图7

另外,在转为「包含型」的自动布局后,左侧图层列表也会发生一些很有意思的事情——原有的容器层将会消失,frame 本身充当容器。 这其实也是利用了 frame 的形状图层属性。(frame 那篇文章也深入讲过,忘记的小伙伴可以回去看看)

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图8

所以,创建按钮这件事就变得异常之简单

我们不需要提前创建容器,只需要对一行文字 shift+A 就行。 基于 frame 的形状图层属性,你可以随意添加你想要的样式。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图9

你可以想象一下,如果继续使用传统的编组 + 矩形的形式,会多出多少的操作,后续的维护又需要耗费多少成本。

定个规则先

创建了自动布局后,右侧会出现 auto layout 面板。你可以将其当做你的控制室,因为后续所有布局规则的制定,都要在这里完成。

这个面板包含的的功能逻辑直接沿用了前端开发的 flexbox,开发式的布局可以很好得帮助我们熟悉开发思维。

下面我们单独一个个拆出来说。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图10

布局方向

就是子级元素排列的横纵方向,点击切换。一层自动布局只能设置一种方向,要构建多个方向的话要嵌套。(嵌套后面再说)

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图11

我们这里选纵向。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图12

子级间距

就是子级元素之间的距离,一层自动布局只能设置一种间距,需要多种间距同样需要嵌套。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图13

这里我们设定 24px。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图14

内间距

即父级边缘到子级整体的内间距,它的设定有两个入口。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图15

第一个设置入口:回型按钮,你可以一键等距设置。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图16

如果需要设置不同的间距,可以通过逗号间隔。

比如输入「10,20,30,40」,这四个值就分别对应右侧、底部、左侧和顶部的间距。输入「10,20」,这两个值就分别对应了顶底部和左右侧。

第二个设置入口在尾部按钮,在这里,上下左右四个内间距可以独立设置。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图17

这里我们就设定 24px 的等距,输入框键入即可。

因为自动布局属于 frame,而 frame 有自带形状图层属性,所以这里可以加入填充和圆角。是不是有卡片那味儿了?

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图18

内部布局方式

可以控制子级元素的对齐,以及在整个父级中的位置(父级尺寸发生改变时常用)

比如调大刚刚的父子尺寸,就可以通过内部布局来进行版面控制。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图19

一共九种内部布局方式,可以根据需要自由选择。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图20

子级分布方式

堆叠:

即所有子级都组合在一起,改动父级尺寸时,子级布局保持固定在某一位置。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图21

比如我们将子级位置固定到左上角,那么不论如何拉伸父级,它的位置始终保持不变。和约束逻辑是不是很像?

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图22

等距:

不论父级尺寸如何改变,最外侧的子级固定在两端,所有子级的间距均匀分布。在控制一些等距元素的响应时(如底 tab 栏)会用到,使用频率非常之高。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图23

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图24

自动布局的嵌套

前面说过,一层自动布局只能拥有一个布局方向和一种子级间距,当需要新增时就需要用到嵌套

如何嵌套也非常简单,直接选中想要嵌套的子级 shift+A 就行。

比如我们想调大中间俩矩形的间距,只需将上、下侧的两个矩形各自创建一层自动布局即可。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图25

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图26

再比如我们想新增一个头像,但头像加入后会多出一个横向布局方向,这时同样可再做一次嵌套。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图27

最后,就可以得出类似 feed 流的一个骨架图。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图28

为了模拟真实的场景,我们将这几个抽象矩形定义成昵称、简介、图片和内容并分别进行填充。 一个带有自动布局属性的卡片就完成了~

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图29

04**是时候表演真正的技术了 **

zhuangbi time


规则制定了,你就可以为所欲为得肆意揉捏了

下面,我用三类场景来一一给你们做演示。

调序

自动布局化的设计中,你可以肆意调整任何元素的位置,而不会影响到你的布局。调序方式可以拖拽,也可以方向键

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图30

拉伸

随意对一些元素做拉伸处理以改变尺寸,父级将会根据目前的规则跟随产生适应变化。

比如我们改变封面尺寸和头像,上下方内嵌的两个父级(自动布局化的 nested frame)将跟随自适应,而这两个父级又同时是整个卡片(自动布局化的 top frame)的子级,因此卡片也会跟随自适应。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图31

另外,对文字进行新增和删除后,文本框的高度变化也可以看作是一种拉伸。卡片也同样能跟随自适应。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图32

增减

对子级进行新增或删除,同样会基于当前的布局产生自适应效果。

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图33

增减操作的几点小提示:

1.图层隐藏,可以实现和删除一样的效果。我的建议尽量以隐藏代替删除,尤其是对于自动布局化的组件,这个技巧非常、非常实用;

  1. 如果在删除某个元素后依然想占位,直接将其透明度降至 0 即可。

至此,自动布局的初步玩法至此讲完!更牛逼的的玩法(如 Resizing)我放到了下篇。

最后

end


咱们来小小得总结下~

  1. 自动布局,就是你先制定一个标准化布局规则,当子级发生变化后,父级能基于布局规则产生适应变化,或者父级尺寸发生变化后,子级能基于规则产生适应变化;

  2. 只有 frame 才能自动布局;

  3. 自动布局包含「并列型」和「包含型」两类组合方式;

  4. 自动布局规则包括:布局方向、子级间距、内间距、布局方式和子级分布方式;

  5. 自动布局可通过嵌套实现多方向、多间距布局。

最后,文中的案例我都打包好了,后台回复「自动布局」即可领取。

如果这篇文章对你产生了些许帮助,点个「在看」,让它帮助到更多的小伙伴。

我是 Andrew,一个将写作当成事业的设计师。

下期见。


/ 我的其他文章,希望你能喜欢 /

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图34

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图35

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图36


👋**一起聊设计 **

高质量、学知识的设计交流群

每周都有素材、干货的分享

和更多优秀设计师一起学习、成长

转发任意文章截图发给我,即可加入~

席位有限,期待你的加入呀🤩

↓↓↓

自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图37


自动布局系列开启,先献上一套保姆级教学(建议收藏) - 图38

公众号推送机制改版,文章不按发布时间排序啦。各位在公众号的右上角 “…”(不是文章的右上角~)将转行人的设计笔记设为星标⭐,这样就不会错过每一篇文章了!
https://mp.weixin.qq.com/s/-p8bsUoKPCRIZZffEssUFw