你不知道的Sketch黑科技-智能排版
朋友说Sketch就跟web开发一样简单吗?但是我感觉和PS一样又笨又呆,做按钮、列表、段落的时候太死板,删个元素还得把其他元素一个个调整,就不能像web的float浮动一样自己动吗?
推荐他使用了Kitchen插件。结果第二天泪流满面地跟我说:Sketch这玩意儿太TM好用了。
简介
智能排版有间距 与 边距 两大功能,间距 设置两个或以上元素之间水平间距或竖直间距,边距 设置元素与图形或位图的上下左右边距关系,根据内部元素尺寸变化而变化。
如果在Sketch中引入这个功能,那么不就极大解放设计师的生产力了吗?所以隆重给大家推荐Kitchen插件中的自动排版功能。
Kitchen是一个阿里团队开发的Sketch插件
https://kitchen.alipay.com/
本文就不介绍其他功能了,大家自己体验,这里只着重介绍它的自动排版或者叫智能排版功能。这才是Kitchen的核心。
Kitchen的智能排版主要包含间距和边距两个功能,用网页前端的术语来说就是margin和padding——盒子模型中最最基本的两个属性。
智能排版简介
下面我们就结合实际例子,看看它是如何提高设计师的生产力的。
元素自动调整间距
Sketch作为设计软件,天生遵守“绝对定位”这一原则:每个元素之间是相互独立的,互不影响。但是在web开发中,页面中的元素却是互相联系的(在不设定position:absolute的前提下),定义好间距样式后,无论文字内容怎么变,它们的间距都会保持一致。
按钮
智能缩放应用到Symbol
在上面的例子中,我们用了不同宽度的按钮,但是像文字、颜色、描边等样式都是一样的。对于Sketch来说,这些按钮统一可以使用Symbol来代替,实际工作中我们肯定也是这样操作的。那么如果每个按钮都调用了同一个Symbol,上面讲到的弹性按钮组可以实现吗?当然可以。
我们先把按钮转换为Symbol,复制四个分别再命名,然后把整个组用智能排版的间距功能设置为h20。不过出现了问题,按钮高度塌陷了。
我们需要进入到Symbol中,把按钮的圆角矩形底的Resizing给设置下,顶部固定,高度禁止拉伸。
设置之后再看下效果,已经可以了。不过还有个小问题就是,按钮之间的间距无法自动完成,需要我们手动选择按钮组,再使用下智能排版的间距功能,设置为h20,确定回车就可以了。
段落自动排版
1、作出锻炼编号
一般的标号都是从数字1开始的,一直到N。这里我们做个简单的样式,同时转化为symbol,方便后期统一修改,养成良好的设计习惯。
2、作出段落层
这里我们就不能用一大段文字加段落间距来处理了,需要把每段规则单独建文本层。这里宽度我们先随便拉伸固定到一个差不多的值,高度需要它的弹性特点,所以不要进行拉伸。
3、段落间距固定
现在我们有了第一条暂时还没有内容的规则,序号symbol和右侧文本进行编组。接下来复制四个,然后利用Kitchen设置好每行的间距,这里我设置了20。
同时我们现在再看下目前的图层状况。
4、在Kitchen增加规则文本
接下来我们要在Kitchen的数据填充功能中,添加活动规则的全部5条文本内容。需要注意两点:一是不要带序号,二是每段之间换行即可,不要空行。实际操作中,我们可以让需求方提供遵守上述规则的文本txt文件,直接复制粘贴。同时要勾选保持顺序,否则每段会随机排列。
5、规则文案填充
最后一步,选中五个段落层,点击刚才在Kitchen创建的规则文本,即可实现快速文案填充,而且每段的高度虽不固定,但是间距却能在Kitchen自动排版功能下一直保持在我们设置的20。
6、数字序号填充
基本搞定,剩下的就是数字序号。当然了,我们可以一个个修改,但是如果有很多项,改起来就特别费劲,所以可以利用刚才的文案填充来实现。
同样的方法,建立数字序号填充文本1、2、3、4、5……每个数字换行。这里需要注意的是,对于顺序数字来说,我们在设计的时候经常会用到,频率非常高。所以设计师很有必要建立一个顺序数字文本源。
对于选择,目前有5个序号,如果是几十个,选择操作会很麻烦,需要一个个点选。这里再提供一个插件叫做Select Similar Layers,可以根据名称、样式、描边等属性进行同时选择。由于数字序号开始就被我们做成了symbol,因此它们具有相同的name属性,而且symbol中的text由于被嵌套了一层,所以同一层级上是无法被Kitchen文本填充识别的,不会被影响。
先选中第一个序号,然后按Select Similar Layers的快捷键control+alt+7(其他常用属性都有对应快捷键),就可以选择相同名称的图层。接下来用Kitchen填充顺序数字编号。
当然了,我们也可以利用Sketch的Filter图层过滤功能来进行同类筛选。选择symbol,会筛选当前页所有symbol元素,接下来还可以利用文字名称再次进行二次筛选,之后按shift键进行全选即可。
Sketch的Filter功能还是挺实用的,一共内置了形状、文本、图片、组、切片、原型和symbol七种类型,好好利用会带来很多效率提升。
如果后面需求方说规则1下面需要加一张图片,很简单,直接放入图片,每条之间的间距会自动排列。
如果第1条的文案变化了,高度也相继改变,那么下面的元素也会自动补充,始终保持固定的间距。
如果我们是先加好图片在进行文案填充也是可以的,Kitchen的数据填充会忽略掉图片和同一层级的symbol。
还有一点,如果图层是6个,只有5段文案,那么全部填充后,第6条会填充第一段的文案,多余的我们最后删掉即可,不用担心发生混乱。
最后我们再看下利用Sketch强大的Resizing功能,实现弹性宽度的图文段落自动排列。序号symbol宽高固定,位置左固定;图片宽高固定,位置左固定;段落只需要位置左固定即可。
总结
通过利用Kitchen的智能排版功能,我们已经实现了想要的效果,节约了大把时间,以后的界面设计效率将会极大提升。当然,还有很多其他的使用场景,各位可以自己在实战中去体验。
欢迎扫描关注我的微信公众号。热爱设计,关注用户体验,分享设计思考。
公众号回复以下关键词获取设计资源
* 回复“软件”可以获取全套设计软件(包括win系统和Mac系统)
* 回复"PS"可获取最新版PS cc 2019
* 回复“字体”可获取最全的设计常用字体
* 回复“C4D”可获取从新手到进阶全套C4D视频教程
* 回复“笔刷”可获最全的笔刷资源