產(chǎn)品設(shè)計中界面的過渡效果處理
設(shè)計師都愛雕琢細(xì)節(jié)。多數(shù)時間都用來折騰像素級的按鈕、表單樣式、設(shè)定字體,還要把圖標(biāo)打磨得像圖釘一樣鋒利。很好,滿分,大家請繼續(xù)保持。
但是,還需要考慮一點(diǎn),它們除了靜態(tài)組合之外如何相互結(jié)合。按下按鈕,表單就……直接出現(xiàn)嗎?滑動刪除一個項(xiàng)目,它就直接消失?那太奇怪了,也不自然?,F(xiàn)實(shí)中幾乎沒有什么會這樣突兀地直接切換狀態(tài)。它給人感覺像是出了毛病。
那好。你寫下了一條注釋——它是“滑入”的。
如何滑入?速度多快?會不會反彈?有沒有緩沖?靜態(tài)的設(shè)計無法提供狀態(tài)之間的銜接。
提到動畫和討喜的交互時,人們總是用“有趣”一詞。對他們來說,這些動態(tài)效果很酷。但你猜怎么著?動畫還有功能性的作用。它不僅僅是個美化過的細(xì)節(jié)。
動畫利用了一個被忽略的維度——時間!一種將空間縫合在一起的隱形織物。即使不是數(shù)學(xué)宅,你也能理解這點(diǎn)。
我們來看看一些簡單的概念:
緩動/緩沖
傳統(tǒng)動畫中,斷點(diǎn)決定了一團(tuán)東西如何從A點(diǎn)移動到B點(diǎn)。它給動畫增加了偏移量,決定了其余幀的時間間隔是怎樣的。以這25幀補(bǔ)間動畫為例,第13幀(中點(diǎn))的位置有所不同:
瞧瞧!你已經(jīng)學(xué)會了緩沖/緩動。電腦都是混蛋,喜歡線性均勻地填充這些空隙,因?yàn)樗麄兙褪且粓F(tuán)懶惰的電路。優(yōu)秀的動畫/動效設(shè)計師多數(shù)時間都在與電腦作斗爭,確保它們不會把這搞砸。
動畫總是關(guān)乎時間。你可以嘗試各種不同的時間間隔,會得到不同的結(jié)果。但這已經(jīng)足夠了。這不是動畫教程,關(guān)鍵是讓你思考時間與間隔的語言。
關(guān)于界面銜接動畫的一些創(chuàng)意
我之前說過,動畫有助于創(chuàng)造情境。它幫助大腦理解信息如何流轉(zhuǎn)。
向列表中添加項(xiàng)目
比如說你在看著一列動態(tài)列表,你希望用實(shí)時數(shù)據(jù)填充它。如果你把這任務(wù)交給電腦,它看起來會是這樣:
我去,太挫了……
平滑地將它顯示出來,只需要幾幀動畫。給你的大腦提供一點(diǎn)線索吧,想想這個列表發(fā)生了什么?
為了添加一個新項(xiàng)目,列表需要為它讓出空間,然后(來自某處的)新項(xiàng)目填充了這片空間。突兀感大大減少了。狀態(tài)淡入淡出還能使變化更加緩和。感覺更自然,因?yàn)槲覀兟?lián)想到空間的相關(guān)情境——它反映了現(xiàn)實(shí)生活中,你往一堆東西里添加?xùn)|西的過程。
再來幾個:
進(jìn)入列表項(xiàng)
典型的默認(rèn)方式是滑動進(jìn)入某一項(xiàng)。這是常用的一種模式,但整體在空間上并不怎么合理:
滑動的方向并沒有給你任何有用的線索,除了一系列串成線的界面。
要不考慮一下把這項(xiàng)做成一個容器,點(diǎn)它之后在內(nèi)部展示更多詳情?
如果目的是進(jìn)入該項(xiàng),并使它吸引全部的注意力,我們甚至可以在同個界面中把其他所有都隱藏起來:
把>所有>界面>用>面包屑導(dǎo)航>串起來,很容易迷失方向。
內(nèi)部展開的一個優(yōu)勢,是你不需要解釋用戶如何到達(dá)這個子界面??梢話仐墝蛹壥降膶?dǎo)航,因?yàn)橛脩?strong style="color: #222222">看見了他們是如何進(jìn)到那里。
我和Kyle Bragger?先生正在致力于打造Thinglist,一款Elepath旗下的產(chǎn)品,它里面加入了一些非常好玩的界面過渡效果。上面的例子演示了這些新特性。
你該看看這些界面過渡效果案例:
Clear:與手勢操作緊密相關(guān)的動畫。
Willcall:它有一套統(tǒng)一的律動節(jié)奏。狀態(tài)之間不會有東西生硬地出現(xiàn)。非常有趣值得把玩。
Elepath的員工可以解釋我對于動畫的癡迷。畢竟我是一名動效設(shè)計師。
你還可以參與branch的討論:http://branch.com/b/transitional-interfaces-design-ux
最新消息:我為這篇文章做了一段50分鐘的演說,可以在此觀看(譯者提醒:需翻墻)
如果動畫使你無法自拔,我概不負(fù)責(zé)。
Android最新的設(shè)計思想中也有類似的描述。