嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片

用一篇干貨,幫你完全掌握 Sketch 動態布局

2020-1-2    濤濤

動態布局

首先來解釋一下什么是動態布局:

所謂動態布局就是可以通過修改內容實現關聯內容自動改變的布局方式。

在 sketch 45 之后的版本,我們可以通過 resizing 對元素的上下左右邊距進行固定,來實現頁面布局的動態響應。這種響應是被動的,需要我們拖拽著它,它才能給出反饋。雖然不是多么的聰明,但是這種被動的方式解放了很大一部分生產力,足以讓你鄙視一下 Photoshop 的 UI 設計了。

有了被動響應,自然也想要有主動響應,通過改變元素內容去改變布局。之前在 sketch 里面一直有一個功能:文字尾部跟隨(間距在 20px 以內,后面可跟文字或圖標)。如圖:

功能雖單一,但在工作效率上帶來了極大的提升。當然我們想要的更多

比如:

一個標簽,我希望可以跟隨文字長度而自動適應。

△ 不是這樣

△ 而是這樣

在 Sketch 58 之前,我們可以通過 kitchen 或者 Anima 等外部插件實現這類效果。但是這類插件在創建為組件以后會出現一些莫名的抽搐,可用性不高。在 Sketch 58 之后 Sketch 自身就攜帶了這些技能,可以實現一些動態布局,不過目前來看它還是存在一定的局限性,它的動態布局是基于 symbol 的。但我們不會為了布局而刻意去做 symbol,這會加重組件庫的維護負擔,在整體的收益率及效率上不見得能帶來多大的提升。組件庫應盡可能的保證干凈、靈活以及它的實用性。

我們取長補短。所以,這里要講的不是某一個插件或某一個功能,而是結合插件與自身的布局來達到足夠的穩定與,解放雙手,釋放大腦。

工具介紹

這里主要通過介紹 Kitchen、Anima 和 sketch 的布局部分,整合它們各自的優勢來做一系列的動態布局。

 

1. 我們先來建立一個簡單的動態按鈕

對比一下各個插件之間的差異

Kitchen

輸入按鈕的上下左右邊距,讓文字與按鈕背景的邊距固定。改變文字寬度,按鈕寬度隨之改變。

Anima Padding

Anima 不需要手動輸入邊距,插件會自動保留文字周圍的邊距并生成 padding。

Sketch 布局

sketch 也不需要手動輸入邊距,但是需要將想要實現動態布局的內容創建為組件,在創建組件的過程中可以對它的動態方向進行限定。這里一共七種模式(無、水平「從左往右、居中、從右往左」、垂直「從上往下、居中、從下往上」)。文字的對齊方式最好和布局的動態方向保持一致。

可以看出 Anima 和 Sketch 會更一點

我們可以讓按鈕再可以復雜一點。

比如加個 icon:

或者換個行:

在一個維度上的動態改變,大家應用得都挺好。但 Sketch 組件在文字換行時并沒有在縱向上去改變高度。

解釋一下:

  • Sketch 這里設置的是水平方向的「從左到右」,只能自動處理一個維度。
  • Kitchen 和 Anima 都可以設置 4 個方向的 padding,從而實現兩個維度的動態改變。
2. 組件化

按鈕、標簽等這類元素,我們通常都會創建為組件,方便我們管理及調用。接下來我們把剛才做好的動態按鈕組件化,再來看看它們是否能實現動態響應。

Kitchen

Anima

Sketch

在組件化之后,Anima 出現了未知錯誤,按鈕并沒有任何變化。在實際使用中,sketch58 之前的版本可以正常變化。58 及其之后的版本暫時會出現問題,把 Anima 更新到 3.2.2 之后,官方更新說修改了 symbol 之后的 padding bug,但是在實際使用中并沒有帶來改善。

所以在這里不建議用任何第三方插件去做 symbol,即使 Kitchen 在這里沒有出現什么大的問題,但在實際操作中的響應速度及穩定性都比較差。此外 sketch 的更新速度很快,大多插件很難即時跟上它的更新速度,從而導致一些不可預知的問題。為了組件的可維護性、自身安全,請盡量用 sketch 的自帶技能去搭建組件。

3. 固定間距

按鈕或標簽這類組件通常會多個同時出現,比如這樣:

這樣:

我們可以通過以下幾種方式快速實現布局:

Kitchen

Anima

Sketch

其中 Kitchen 和 Anima 可以實現全自動的動態響應,包括復制、刪除等操作。而 Sketch 需要手動去維護或者創建為組件后才能實現全自動的動態響應。

這里傾向于直接利用 Kitchen 或 Anima,不會產生不必要的 symbol,但同時也能提升我們的設計效率。對比 Kitchen 和 Anima,Anima 的響應速度更快,功能更豐富,在實現固定間距的同時可以保證對齊方式。具體的應用場景,我們后面會講到。

動態的組件,結合固定間距可以實現一系列便捷的操作。接下來我們講一些具體的實現效果。

動態組件搭建

基于上面的結論,我們在這里的動態組件都會用 sketch 的布局功能來搭建。

1. label

label 在之前的版本中不需要特殊處理,因為有尾隨功能。59 版本之后這個功能被移除,新的布局可以完全取代它了。這里我們手動配置一下水平方向的布局。

注意文本的對齊方式與布局方向要保持一致。

再利用 「Anima-Padding」/「Kitchen-自動排版」 實現動態布局。

2. 用類似的方式實現下拉彈窗

  • sketch 布局創建為組件后可以通過隱藏的方式實現刪除的效果,但不可增加。
  • 通過 Kitchen/Anima 編組的方式可以達到任意增刪的效果。不過這類組件在實際應用時主要起到展示的作用,所以這里建議用 sketch 布局并把他們做成組件。
  • 其次,sketch 在這里的布局會更加簡單,不用考慮分組以及組間關系,它會保持現有元素間的距離(包括邊距和間距)并應用。不過在靈活性上比較低。

Anima 需要合理編組來實現

圖標解釋

△ Padding(內邊距)

△ Stack(堆載)

3. 導航

導航欄也是常用的組件之一。

首先創建「選中」與「未選中」兩種狀態組件。也可以用一種狀態(選中狀態)通過控制元素隱藏/顯示、修改文字樣式等來實現狀態改變。不過操作比較繁瑣,這里就不推薦了。

這里的選中狀態需要用到 sketch 的水平布局,短橫線才可以跟隨文字動態改變。

置入建立的組件,確定好間距,再次建立組件,保持水平布局。就可以得到一個動態的導航欄了

也可以用 Anima/Kitchen 的布局去實現這個效果。

再次強調:Anima/Kitchen 的最好不要作為組件使用。

通用性強,復用率高的組件建議用 sketch 的布局去建立組件。

4. 步驟條

如何把大象放進冰箱

這里要實現的效果是「改變文字寬度,保持文字與右側的線條間距不變」

方法:

序號、文字、白色背景成組,并水平「從左向右」布局

這樣文字可以推動白色背景變寬,與右側線條始終維持相同間距。

結合 sketch 的調整尺寸(resizing)還可以手動改變步驟條的寬度。

5. 表單

表單也可以通過 anima 或者 kitchen 來布局,實現數據的快速增刪。

PS: Anima 的 stack 會默認選一種對齊方式,出現下列這幾種布局效果(下方左對齊異常的原因和我組件的搭建方式有關)。

左對齊

居中對齊

兩端對齊

右對齊

6. switch / radioButton

同樣的,利用 sketch 的布局,還可以創建動態的 switch 和 radiobutton。

7. tooltips

方法和之前建立動態按鈕類似,不過需要注意的是:這類 tooltip 會存在一個最大寬度,在超出這個寬度后需要換行處理。但是sketch 的動態維度只有一個象限(x或y)。這個時候當超出最大寬度后就需要手動去換行并調節高度(動態高度,手動調節寬度,可以依據文字是否換行來判斷邊距是否正確)。

建議:這里我們可以建立兩個組件,一個動態高度,一個動態寬度,根據文本量的多少去選擇合適的動態方向。上面換行的按鈕也可以這樣處理。

再多說一句:Anima 可以通過拖動寬度來改變文字的對齊方式(自動寬度、自動高度),結合自身的 padding 可以實現兩個象限的動態改變。但是出于穩定性的考慮,我們不推薦用它來做 symbol。

8. 模塊-留言

模塊相對于簡單的組件結合了多種布局方法。

以這個留言版為例展開說明:

這個留言版由頭像、name、like、dislike、留言內容等 5 個元素組成。從布局上看可以把頭像、name、like、dislike四個元素作為一個部分,留言作為一個部分。在整體上形成一個上下動態布局的組件。

頭像和 name 固定于左側;頭像鎖定寬高,name 文本自動寬度,布局方式從左向右。

like、dislike編組固定于右側,文本自動寬度,布局方式從右向左。

留言部分固定左右間距,文本自動高度。這樣我們可以通過拖動該區域的寬度去實現高度的動態改變。

利用 Anima 的 stack,實現每個留言版之間的固定間距。此外,在 stack 里面我們可以選中兩邊對齊的方式。

讓組內留言版的寬度保持一致。

9. 模塊-表格

分別建立「左上、上、右上、左、中、右、左下、下、右下」等 9 個單元格組件。通過(左、上邊框+th+td)的方式也可以,這里不細說。

  • 邊框可用陰影或線條實現。
  • 表格內文本自動高度,固定左右兩側邊距。通過文本樣式可以快速切換左中右的對齊方式。
  • 自動高度可以實現單元格高度的動態改變,表格寬度一般手動調節,所以不用設定文本為自動寬度。

每一列單元格分別打組,用 Anima(stack 左右對齊)或 Kitchen 固定垂直間距(間距為 0),組名 tr。無論是單元格的增減,還是單元格高度的變化,都可以在縱向上動態改變。

對 tr 打組,固定左右間距(間距為 0),實現表格在水平方向上的動態變化。

10. 模塊-卡片

利用上面的知識我們來做一個相對復雜的卡片

要點

  • 做好編組,對組內的元素做好布局。
  • 利用 resizing 固定元素。
  • 確定文本區域。
  • 明確模塊的動態方向。

具體步驟

從上圖可以看出卡片主要分為三個部分

  • 圖片+標題
  • 人物及標簽
  • 介紹

對圖片+標題編組,命名「banner」,確定標題的文本區域及動態方向,這里的標題我希望它在換行時往上走。這樣可以把文字定為下方固定。如圖:

對頭像、名字、標簽編組,命名「人物簡介」。固定頭像大小,固定名字位置。對標簽編組,這里標簽應該是動態的,從左往右布局。

標簽高度固定;人物簡介寬高固定;

固定人物介紹文本與卡片左右間距以及上邊距

對「海報」「人物簡介」「人物介紹」再次編組,確定組內各元素間距。編組和背景確定邊距。

這個過程剛開始可能是一個漫長的調試過程,在熟悉后,會讓調試有一個明確的方向,從而縮短時間。

總結

不對,工作還沒交付給開發就不算完成。工作中我會使用藍湖把設計資源交付給開發。

結果

Anima 的布局在上傳藍湖后,藍湖上顯示正常,但是 sketch 本地布局統統崩潰了。我不禁長嘆一聲,啊!

藍湖官方解釋「兩個插件在 Sketch 提供的方法調用是有沖突的,建議在上傳前關掉 Anima 插件」。

關掉 Anima 需要在插件中關掉后并重啟 sketch 才能生效,不然編組的內容依舊會保留 Anima 特性。

接下來重新總結一下:

  • 盡量使用 sketch 自帶功能去建立組件,能極大地保證組件庫的安全性。
  • 第三方插件可以用作布局編組的輔助支持,Anima 的性能優于 Kitchen,在實現相同功能時優先使用 Anima。sketch 的手動布局雖然不夠靈活,但是還算省心。
  • 動態組件內的文字的對齊方式,要和 sketch 布局方向一致。
  • 合理利用 resizing 的被動響應和布局的主動響應。
  • sketch 的布局暫時只支持一個維度的動態變化,不過滿足了絕大部分的需求。有必要的話可以為一個樣式制作在兩個維度上變化的組件。
  • 第三方插件的更新一定晚于 sketch 的更新,如果涉及到重要內容,延遲更新 sketch。
  • 第三方插件之間可能存在沖突,請合理規避風險。
  • 雖然這樣的動態布局還有這樣或那樣的問題,但在合理的使用后,不禁覺得是真香啊

結合以上內容為開發同事做的一個上線海報,他們可以只關注內容了。

文章來源:優設

日歷

鏈接

個人資料

藍藍設計的小編 http://m.sdgs6788.com

存檔

嫩草影院久久99_老司机午夜网站国内精品久久久久久久久_久久夜色精品国产_国产一级做a爰片久久毛片
<em id="09ttv"></em>
    <sup id="09ttv"><pre id="09ttv"></pre></sup>
    <dd id="09ttv"></dd>

        • 国产欧美精品va在线观看| 欧美影院一区| 老司机免费视频一区二区| 久久国产精品一区二区| 欧美在线3区| 久久另类ts人妖一区二区| 久久久www成人免费精品| 久久久久久久综合| 欧美激情视频网站| 欧美日韩视频在线观看一区二区三区| 麻豆亚洲精品| 欧美日韩国产系列| 国产日韩欧美高清免费| 尹人成人综合网| 亚洲老司机av| 久久福利一区| 亚洲高清成人| 亚洲人成艺术| 亚洲综合好骚| 久久综合中文字幕| 欧美日韩专区| 精品99一区二区三区| 99国产精品久久久久老师| 欧美专区18| 欧美大片在线影院| 亚洲影视在线| 久久女同互慰一区二区三区| 欧美日韩一区二区欧美激情| 欧美一区二区视频在线观看| 一本色道久久99精品综合| 欧美一级在线亚洲天堂| 欧美精品在线免费播放| 国产一区二区三区黄视频| 亚洲精选在线| 久久久亚洲国产美女国产盗摄| 欧美激情视频一区二区三区不卡| 午夜欧美理论片| 欧美电影在线观看| 国产在线观看91精品一区| 一区二区欧美视频| 欧美14一18处毛片| 欧美亚洲自偷自偷| 国产精品国产精品国产专区不蜜| 黄色综合网站| 欧美一区在线视频| 艳妇臀荡乳欲伦亚洲一区| 欧美a一区二区| 影音先锋久久久| 欧美一级视频精品观看| 一本色道久久88亚洲综合88| 欧美国产一区二区三区激情无套| 一区二区在线观看视频| 久久久久女教师免费一区| 亚洲欧美一区二区精品久久久| 国产精品白丝黑袜喷水久久久 | 欧美高清在线视频| 91久久久一线二线三线品牌| 午夜日韩福利| 国产女人18毛片水18精品| 在线亚洲美日韩| 亚洲国产成人午夜在线一区| 久久午夜国产精品| 亚洲国产一区二区三区a毛片| 免费高清在线一区| 老司机一区二区| 亚洲人成在线播放网站岛国| 欧美激情a∨在线视频播放| 狼人天天伊人久久| 亚洲精品日韩激情在线电影| 亚洲高清一区二| 欧美日韩国产在线播放网站| 99视频+国产日韩欧美| 亚洲卡通欧美制服中文| 欧美日韩高清一区| 亚洲欧美日韩精品综合在线观看 | 久久久精品tv| 久久黄金**| 亚洲国产综合91精品麻豆| 亚洲国产精品一区二区三区| 欧美日韩国产一区二区三区| 亚洲欧美日韩精品在线| 久久久国产精品一区二区三区| 黄色精品网站| 91久久视频| 国产精品人人做人人爽| 久久久综合免费视频| 美腿丝袜亚洲色图| 亚洲欧洲精品一区二区三区| 在线视频精品一区| 在线播放国产一区中文字幕剧情欧美| 亚洲国产精品久久久久秋霞蜜臀 | 黄色欧美成人| 亚洲高清一区二| 国产精品拍天天在线| 欧美一区二区视频97| 久久久美女艺术照精彩视频福利播放| 亚洲欧洲精品天堂一级| 亚洲欧美清纯在线制服| 亚洲高清一区二| 亚洲视频欧美在线| 在线日韩中文字幕| 亚洲一区二区三区乱码aⅴ| 在线观看国产成人av片| 亚洲一区二区免费| 99在线视频精品| 久久只精品国产| 久久精品国产第一区二区三区最新章节 | 亚洲一区二区三区免费观看| 欧美综合国产| 中日韩在线视频| 久久天天躁夜夜躁狠狠躁2022 | 欧美日韩国产限制| 久久久视频精品| 欧美日韩亚洲综合一区| 麻豆精品在线视频| 国产日韩欧美综合一区| 日韩一级大片在线| 亚洲精品黄色| 麻豆国产精品一区二区三区| 久久精品国产v日韩v亚洲| 欧美日韩免费观看中文| 亚洲电影在线免费观看| 黄色小说综合网站| 欧美一级视频精品观看| 亚洲尤物在线视频观看| 欧美理论大片| 欧美激情精品| 在线看不卡av| 久久久久九九视频| 久久久亚洲精品一区二区三区| 国产精品视频大全| 亚洲一区二区精品在线观看| 亚洲欧美日韩爽爽影院| 国产精品嫩草影院av蜜臀| 一区二区三区福利| 亚洲在线免费观看| 国产精品丝袜白浆摸在线| 亚洲网站在线| 午夜精品久久久久影视 | 久久综合福利| 麻豆精品视频在线观看| 激情久久久久久久| 久久日韩粉嫩一区二区三区| 毛片一区二区三区| 国产欧美视频一区二区三区| 午夜精品一区二区三区电影天堂| 午夜亚洲性色福利视频| 国产欧美日韩一区二区三区| 亚洲影院色在线观看免费| 欧美在线观看视频一区二区| 狠狠v欧美v日韩v亚洲ⅴ| 美女被久久久| 在线视频精品| 久久久久久有精品国产| 亚洲国产视频直播| 欧美日韩在线三级| 亚洲欧美怡红院| 久久综合九色综合久99| 亚洲日本欧美日韩高观看| 欧美日韩在线三级| 午夜精品一区二区三区四区| 麻豆精品在线观看| 夜夜夜精品看看| 国产亚洲成人一区| 免费成人性网站| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲性线免费观看视频成熟| 国产精品女人网站| 久久精品五月婷婷| 一本色道久久88精品综合| 久久精品人人做人人爽| 日韩视频在线播放| 国产麻豆精品久久一二三| 免费不卡亚洲欧美| 麻豆精品网站| 男女精品视频| 午夜精品一区二区三区在线| 在线免费观看成人网| 国产精品高潮呻吟久久av黑人| 久久三级福利| 亚洲视频一区二区| 欧美激情亚洲自拍| 欧美一激情一区二区三区| 日韩午夜在线播放| 一区二区三区在线不卡| 国产精品区免费视频| 欧美美女视频| 久久综合色天天久久综合图片| 一区二区三区视频在线| 欧美国产日本在线| 久久婷婷一区| 久久成人羞羞网站| 亚洲欧美日韩人成在线播放| 一本色道婷婷久久欧美| 亚洲欧洲精品一区二区三区| **性色生活片久久毛片| 狠狠v欧美v日韩v亚洲ⅴ| 国产一区二区三区直播精品电影 | 最新国产精品拍自在线播放| 久久经典综合|