看完本文你將解決以下問(wèn)題
如何只用一個(gè)symbol實(shí)現(xiàn)寬度不一樣的音樂(lè)播放組件
Sketch的Resizing功能詳解
問(wèn)題場(chǎng)景再現(xiàn)
之前有個(gè)項(xiàng)目,需要用到音頻播放條,400px,長(zhǎng)這個(gè)樣子
很簡(jiǎn)單拯杠,三下兩下搞定,同時(shí)養(yǎng)成習(xí)慣,轉(zhuǎn)化為symbol彤蔽,萬(wàn)一其他頁(yè)面也用到呢?
但實(shí)際工作中我們經(jīng)常會(huì)遇到這樣的需求庙洼,在另一個(gè)頁(yè)面顿痪,這個(gè)播放條需要340px,而且有些頁(yè)面的進(jìn)度條要隨著頁(yè)面寬度改變油够,實(shí)現(xiàn)寬度響應(yīng)該怎么辦呢蚁袭?
試著拉伸播放條,就變成了這樣
難道還需要再制作一個(gè)340px的嗎石咬?明明這兩個(gè)組件一模一樣揩悄。
在html中,這個(gè)問(wèn)題很容易解決鬼悠,對(duì)于相同結(jié)構(gòu)的組件删性,寬度并不影響樣式展現(xiàn),用定位浮動(dòng)即可解決焕窝。
那么Sketch能用一個(gè)symbol實(shí)現(xiàn)不同寬度嗎蹬挺?
可以,答案就是Resizing它掂。
Sketch中的Resizing功能
這個(gè)Resizing巴帮,漢化插件把它翻譯成智能縮放。
有個(gè)小插曲,前段時(shí)間公司有UI招聘需求榕茧,我面試了好幾位設(shè)計(jì)師垃沦,問(wèn)到Resizing好多都不知道。說(shuō)到中文智能縮放雪猪,會(huì)和Sketch的另一個(gè)功能Scale混淆栏尚,大家需要注意下,這兩個(gè)是完全不同的概念只恨。
左邊代表位置的上下左右译仗,可以組合使用,點(diǎn)擊對(duì)應(yīng)的就是固定官觅。
右邊代表寬和高的拉伸與否纵菌,點(diǎn)擊對(duì)應(yīng)的就是禁止拉伸。
這樣就會(huì)組合出不同的位置和拉伸效果休涤,如下圖
制作可伸縮音樂(lè)播放條
在解了Resizing的特點(diǎn)后咱圆,分析一下我們的需求
1:左邊的播放按鈕、時(shí)間功氨、藍(lán)色條和滑動(dòng)點(diǎn)需要固定在左側(cè)
2:右邊的總時(shí)間需要固定在右側(cè)
3:中間的灰色進(jìn)度條可以根據(jù)需求彈性伸縮
結(jié)合Resizing的特性序苏,彈性播放條就能制作出來(lái)了。
上圖紅框中的元素編成一個(gè)組捷凄,組也可以使用Resizing忱详,并且組里面的元素也適用對(duì)應(yīng)屬性。
結(jié)語(yǔ)
Resizing的功能類似于css中的float屬性跺涤,讓Sketch設(shè)計(jì)界面變得更加自由化匈睁。我們可以把結(jié)構(gòu)相同的組件統(tǒng)一歸納為一個(gè)symbol,大大減少組件維護(hù)的成本桶错,也提高了設(shè)計(jì)效率航唆。
隨著Sketch不斷更新,UI設(shè)計(jì)理念和css理念會(huì)越來(lái)越接近院刁,所以各位設(shè)計(jì)師有空還是多少了解一些前端知識(shí)糯钙,擴(kuò)展自己的技能樹。
最后附上播放條的源文件
鏈接: https://pan.baidu.com/s/1NXvfmN5YsOCSRAOe-PT4wg
提取碼: rpsq
更多UI設(shè)計(jì)干貨文章請(qǐng)關(guān)注UI黑客
微信公眾號(hào) uihacker
UI黑客官網(wǎng)http://www.uihacker.com/
UI黑客論壇http://bbs.uihacker.com/