手把手教你自动布局的进阶玩法,看这一篇就够了→(超干干货)
2021年的第 27篇原创文章
(figma系列第八篇)
距离2021年40篇原创目标还剩13篇
上周,咱们讲了自动布局的初步玩法,反响很是不错。
但初步玩法嘛,更多的聚焦在基础和外在,真正的进阶玩法我留到了这篇。
理解成本较高,所以我使用了一些讲故事的方法,希望让你更轻松得学习和掌握。
前排提醒:因为部分概念的强关联性,强烈建议你读完【6000字超干干货】没搞定这个概念,figma就真的白用了!→再来看此篇,以获得更好的阅读体验~
01自动布局的本质 core自动布局的本质,在于父子级动态关系的把控。
大猩猩在SD12集和樱木说过:能够掌控篮板球,就能掌控比赛。(对,我又祭出这张图了)

我认为,能掌控父子级动态关系,就能掌控自动布局。
而在自动布局中,能具体去实现这种动态关系的是Resizing功能。
看到这里你可能会很懵逼,啥是父子级动态关系?啥是Resizing?别急,下面都会讲。
02Rezising是啥 what
如果你创建了一个自动布局,那么你会发现,在auto layout面板下面,会多出这么一个玩意儿,它就是Resizing。


左侧的图标又是啥?
这里引用下草帽老师的观点,Resizing容易给你整懵的很大一部分原因,在于左侧的图标。看上去唬人,但其实,左侧图标和右侧下拉框实现的是一个功能。 因为图标非常难用,我的建议是,只通过右侧的下拉框去选择剧本就行。
下面,我为你简单讲下这三个剧本。懂这三个剧本,你的自动布局基本就不成问题。(注意,下面涉及到父子级关系,如果对这些概念不了解的小伙伴,强烈建议看完【6000字超干干货】没搞定这个概念,figma就真的白用了!→中的对象关系、frame多合一优势这两节内容~)

Hug contents
Hug contents(适应内容)这个剧本,主线就是「父亲听儿子的」——即父级的尺寸跟随子级的尺寸而变化。这个剧本的主角是父亲。 举个例子,下面这个按钮就是父级,按钮内部的文字就是子级。 我们将主角(父级)的Resizing设定成Hug contents,接下来的剧情就按这个剧本走——不论子级什么长度,按钮这个父级的尺寸始终跟随子级变化。
谁有权拥有这个剧本
先说结论:所有的父级和文字子级。(以下分析过程有些绕,可直接跳过,不影响Resizing的掌握) Hug contents是父级跟随子级,所以我们选定的这个对象,必须得有子级让我们去跟。这就好比主角想听儿子的话,前提是他得有一个儿子才行。 所以,按钮文字作为唯一的、没有儿子的子级,选定它时理应不该出现Hug contents这个剧本。 但让我颇为意外的是,它作为子级时偏偏就有这选项。而我们把文字替换成其他图层(比如形状)时却没有出现。


Fill container
Fill container(填充容器)这个剧本和上面的完全相反,它的别称是《你爹还是你爹》,主线是「儿子听父亲的」,即子级尺寸跟随父级的变化而变化。它的主角是儿子。 继续用这个按钮案例,我们在自动布局时已事先设定了上下8px、左右24px的padding值(内间距)。 然后横向上,将子级设定Fill container。然后改变父级的宽度,你会发现,不论父级什么尺寸,子级宽度将始终基于所设定的padding值,跟随响应变化。
谁有权拥有这个剧本
先说结论:作为主角的子级。所谓的子级,就是有父级(frame、group等)包裹的对象,因为只有这样才能让子级跟随。 所以我们选定的对象,如果没被父级包裹时(比如直接放在画布上的top frame画板),Fill container剧本是没有的。
Fixed size
上面俩剧本,总得有一方必须听另一方的。 Resizing大佬觉得人物关系不够对立,不够吸引眼球,因此又创作了第三个剧本Fixed size,主线就是「儿子和老子反目成仇,谁也不服谁」。 我们固定元素的横向或纵向尺寸后,其尺寸都不会跟随父级或者子级的变化而变化。表面上还像以前那么亲密,但早已貌合神离、形同陌路。 比如这个按钮,我们固定子级的宽度(fix width),在改变父级(按钮容器)或者子级的宽度后,子级宽度将始终保持固定,并没有像fill container那样跟随变化。


这里继续沿用咱们上篇文章所制作的自动布局化的卡片。 我们的目标是:通过Resizing这个功能来实现这个卡片的动态响应。最后的效果应该是下面这样:








咱们一起盘下本篇的知识点——
- 自动布局的Resizing帮助你实现父子级动态关系,它有三个剧本:Hug contents、Fill container和Fixed size;
- Hug contents:父级跟随子级。它是自动布局的默认剧本;
- Fill container:子级跟随父级。这个功能可实现动态响应布局;
- Fixed size:谁也不跟谁。常用于需固定尺寸的对象(比如头像)
- Fill container只能决定子级跟随当前层的父级,所以存在多层嵌套结构时,每一层都得考虑。
原创不易,如果这篇文章对你产生了些许帮助,欢迎点个「在看」,支持我原创的同时也让它帮助到更多的小伙伴。
我是Andrew,一个将写作当成事业的设计师。
下期见。
/ 我的其他文章,希望你能喜欢 /
一起聊设计 高质量、学知识的设计交流群 每周都有素材、干货的分享 和更多优秀设计师一起学习、成长 转发任意文章截图发给我,即可加入~ 席位有限,期待你的加入呀 ↓↓↓

公众号推送机制改版,文章不按发布时间排序啦。各位在公众号的右上角“…”(不是文章的右上角~)将转行人的设计笔记设为星标⭐,这样就不会错过每一篇文章了!
声明:本站所有文章,如无特殊说明或标注,均为本站作者原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。本文来自作者自媒体,不代表UIED观点和立场。 如若本站内容侵犯了原著者的合法权益,可联系我们进行处理以减少您的损失。
标签





评论 0
最新评论登录后发布评论并参与互动。
暂无评论,欢迎抢沙发。