前言與大綱
很榮幸之前的幾篇文章相繼被《簡(jiǎn)書》孝冒、《人人都是產(chǎn)品經(jīng)理》、《IXDC》拟杉、《優(yōu)設(shè)網(wǎng)》推薦至首頁(yè)及公眾號(hào)傳播庄涡,讓我有了很大的動(dòng)力。為了讓所有關(guān)注我的人得到實(shí)實(shí)在在的收獲搬设,我會(huì)對(duì)自己出品的文章愈加要求嚴(yán)格穴店。
對(duì)于視覺(jué)設(shè)計(jì)師來(lái)說(shuō),其實(shí)我們有很大的優(yōu)勢(shì)焕梅,如果我們的思維邏輯清晰并且樂(lè)于總結(jié)迹鹅,那么我們總結(jié)的內(nèi)容將不僅僅只是一個(gè)大的分類總結(jié),還能夠提供一些具體的執(zhí)行方法贞言,并且將執(zhí)行過(guò)程中踩到的坑和大家一起分享討論斜棚。
今天我要分享的是關(guān)于加載動(dòng)畫的知識(shí)體系及簡(jiǎn)單的制作方法,至于特殊場(chǎng)景總結(jié)不全之處,還請(qǐng)批判指正弟蚀。
大綱如下:
一蚤霞、加載動(dòng)畫存在的意義
二、加載動(dòng)畫的使用場(chǎng)景
三义钉、前段開發(fā)實(shí)現(xiàn)動(dòng)畫的方法
四昧绣、工作中輸出加載動(dòng)畫的方法與步驟
五、制作加載動(dòng)畫時(shí)的注意事項(xiàng)
六捶闸、加載動(dòng)畫的流行趨勢(shì)
一夜畴、加載動(dòng)畫存在的意義
眾所周知,app服務(wù)器在加載數(shù)據(jù)的時(shí)候需要用戶等待一段時(shí)間删壮,為了緩解用戶等待過(guò)程中的焦慮情緒贪绘,設(shè)計(jì)者可以采用加載動(dòng)畫的方式來(lái)緩解用戶的等待時(shí)間,使整個(gè)等待過(guò)程變得更加友好央碟、流暢税灌。
一個(gè)好的加載動(dòng)畫分為兩個(gè)層次,第一個(gè)層次是滿足用戶的基本心理預(yù)期亿虽,緩解等待的焦慮菱涤;第二個(gè)層次是要給出用戶一定的驚喜,甚至讓用戶對(duì)加載動(dòng)畫抱有期待洛勉、好奇的心理粘秆。
這里我們暫時(shí)先只討論第一個(gè)層次的內(nèi)容,因?yàn)檫@已經(jīng)能夠滿足大多數(shù)app的需求了坯认,至于如何做出讓用戶驚喜的加載動(dòng)畫(如餓了么翻擒、京東的加載動(dòng)畫)氓涣,我們可以另外討論牛哺。
二、加載動(dòng)畫的使用場(chǎng)景
查閱大量關(guān)于加載的資料后劳吠,發(fā)現(xiàn)很多教程與文章都是從樣式的維度來(lái)分類的引润,今天我們換個(gè)維度,從使用場(chǎng)景出發(fā)痒玩,來(lái)打造屬于我們自己的加載動(dòng)畫設(shè)計(jì)體系淳附。
加載動(dòng)畫的常見使用場(chǎng)景一共分為以下5種:
1.下拉刷新加載
2.切換新頁(yè)面數(shù)據(jù)加載
3.頁(yè)面上拉加載
4.頁(yè)面局部加載
5.啟動(dòng)頁(yè)加載
我們還是一個(gè)一個(gè)來(lái)了解:
1.下拉刷新加載
下拉刷新可以讓用戶在看到本地?cái)?shù)據(jù)的同時(shí)去重新加載數(shù)據(jù),以確保用戶可以看到最新的內(nèi)容蠢古。
下拉加載一般分為兩種形式:動(dòng)畫加文字(如今日頭條下拉加載樣式)奴曙、純動(dòng)畫(如網(wǎng)易郵箱)。
如下圖:
2.切換新頁(yè)面數(shù)據(jù)加載
當(dāng)切換到新頁(yè)面時(shí)草讶,常常會(huì)有加載數(shù)據(jù)的時(shí)候洽糟,這也是加載動(dòng)畫使用最多的場(chǎng)景,市面上的加載樣式也是多種多樣,如:白屏加載坤溃、toast加載拍霜、進(jìn)度條加載、導(dǎo)航欄加載等等薪介。
3.頁(yè)面上拉加載
當(dāng)一個(gè)頁(yè)面數(shù)據(jù)量過(guò)大時(shí)祠饺,服務(wù)器不會(huì)一次性將內(nèi)容全部加載,而是加載一部分汁政,只有當(dāng)用戶向上拉動(dòng)頁(yè)面時(shí)道偷,才會(huì)加載更多,如下圖:
上拉加載的樣式不會(huì)過(guò)于復(fù)雜记劈,一般采用比較簡(jiǎn)單的轉(zhuǎn)圈動(dòng)畫來(lái)實(shí)現(xiàn)试疙。
4.頁(yè)面局部加載
常見的局部加載場(chǎng)景有視頻列表、加載圖片的占位圖等抠蚣,如下圖:
5.啟動(dòng)頁(yè)加載
為了緩解用戶啟動(dòng)app時(shí)的等待時(shí)間祝旷,有些app會(huì)將啟動(dòng)頁(yè)設(shè)計(jì)成一個(gè)加載動(dòng)畫,如京東嘶窄、百度貼吧等怀跛,不僅使等待時(shí)間變得有趣,并且增加了品牌記憶柄冲,達(dá)到了一箭雙雕的效果吻谋。
三、前端開發(fā)實(shí)現(xiàn)動(dòng)畫的方法
1.調(diào)取系統(tǒng)自帶樣式
系統(tǒng)自帶樣式比較簡(jiǎn)單现横,iOS系統(tǒng)的樣式是一個(gè)菊花漓拾,安卓系統(tǒng)的是一個(gè)轉(zhuǎn)圈的圓線。
2.設(shè)計(jì)師直接提供gif動(dòng)圖
這種提供gif的方法戒祠,一般適用于比較大場(chǎng)景的加載動(dòng)畫骇两,如啟動(dòng)頁(yè)。
需要注意的是原生系統(tǒng)是不支持gif控件的姜盈,iOS需要調(diào)取網(wǎng)頁(yè)的gif低千,而安卓需要調(diào)取播放器才能實(shí)現(xiàn)動(dòng)動(dòng)畫的展現(xiàn),所以如果不是特殊場(chǎng)景馏颂,一般不推薦使用gif控件來(lái)實(shí)現(xiàn)動(dòng)畫示血。
3.前端自己將動(dòng)畫用代碼寫出來(lái)
最常用的一種方式就是讓前端哥哥自己將動(dòng)畫寫出來(lái),當(dāng)然這時(shí)候你還是要做出一個(gè)示范動(dòng)畫救拉, 并告知?jiǎng)赢嫷囊?guī)則是怎樣的(下文會(huì)詳細(xì)說(shuō)明)难审。
四、工作中輸出加載動(dòng)畫的方法與步驟
講了這么多內(nèi)容其實(shí)只是讓大家對(duì)整個(gè)加載動(dòng)畫的全局有個(gè)認(rèn)知亿絮,在執(zhí)行過(guò)程中有理有據(jù)告喊,避免無(wú)從下手的情況出現(xiàn)拂铡。換句話說(shuō),在了解以上內(nèi)容后葱绒,至少我們知道了某種場(chǎng)景下該做什么感帅,至于怎么做,我用一個(gè)下拉刷新的動(dòng)畫實(shí)例來(lái)具體講解一下輸出加載動(dòng)畫的過(guò)程地淀。
1.確定使用場(chǎng)景與實(shí)現(xiàn)方法
使用場(chǎng)景:下拉刷新
實(shí)現(xiàn)方式:前端代碼實(shí)現(xiàn)
2.設(shè)計(jì)師制作下拉刷新動(dòng)畫失球,并透徹理解動(dòng)畫機(jī)制
動(dòng)畫如下圖(參考QQ郵箱下拉加載):
制作過(guò)程中,我們可以優(yōu)先考慮加入品牌元素在動(dòng)畫中帮毁,如品牌logo实苞、品牌顏色、品牌名稱烈疚,這些都可以融入到加載動(dòng)畫當(dāng)中黔牵。
3.輸出加載動(dòng)畫的規(guī)范(如下圖):
首先你需要將動(dòng)畫本身的規(guī)則寫出來(lái),如我們目前制作的這三個(gè)小球爷肝,一個(gè)循環(huán)內(nèi)平均有6個(gè)關(guān)鍵節(jié)點(diǎn)猾浦,每個(gè)節(jié)點(diǎn)需要0.3秒,也就是循環(huán)一次需要1.8秒灯抛,我們將其動(dòng)作全部分解輸出給開發(fā)金赦,并將圓球的大小、顏色等信息注明对嚼,這樣開發(fā)看到規(guī)則后就會(huì)一目了然夹抗,保證動(dòng)畫的還原度。
然而這僅僅只是做了動(dòng)畫本身的規(guī)則纵竖,我們還需要考慮動(dòng)畫與頁(yè)面間的關(guān)系漠烧,例如下圖是一個(gè)下拉松開手指后,頁(yè)面正在加載的狀態(tài)靡砌,我們不僅要考慮正在加載的狀態(tài)已脓,還要考慮其下拉過(guò)程中可能會(huì)發(fā)生的情況。
總的來(lái)說(shuō)乏奥,我們需要標(biāo)明動(dòng)畫加載時(shí)摆舟,動(dòng)畫與導(dǎo)航欄的間距,與內(nèi)容區(qū)的間距邓了,且下拉過(guò)程中哪個(gè)間距是可變的、哪個(gè)間距是不可變的等等媳瞪,甚至還需要考慮可拉動(dòng)的最大距離是多少骗炉,當(dāng)然拉動(dòng)時(shí)的彈性是系統(tǒng)自帶的,一般不予考慮蛇受。
只有將這些內(nèi)容全部考慮清楚并輸出規(guī)范句葵,才算是一個(gè)合格的下拉加載動(dòng)畫。
這里我舉的例子是動(dòng)畫中沒(méi)有文案的情況,當(dāng)有文案時(shí)乍丈,考慮的內(nèi)容會(huì)更多剂碴,如:一個(gè)下拉過(guò)程可能會(huì)有“下拉加載”、釋放加載轻专、正在加載這三個(gè)狀態(tài)忆矛,而當(dāng)加載完成后,還需有反饋狀態(tài)告訴用戶有多少條新的信息请垛,如新聞?lì)惖南吕⑿麓哐怠H缦聢D:
大家有興趣可以自行了解一下,這里就不予過(guò)多解釋了宗收。
五漫拭、制作加載動(dòng)畫時(shí)的注意事項(xiàng)
1.不論你的動(dòng)畫有多好看、多吸引眼球混稽,如果成本太高或者過(guò)于復(fù)雜都是無(wú)法落地的采驻,所以我們要遵循簡(jiǎn)單實(shí)用的原則來(lái)進(jìn)行設(shè)計(jì),不要過(guò)度設(shè)計(jì)匈勋。
2.其實(shí)在開發(fā)哥哥那里挑宠,他們的時(shí)間計(jì)算單位是毫秒(1秒等于1000毫秒),也沒(méi)有動(dòng)畫里“幀”的概念颓影,所以如果你能用代碼的語(yǔ)言(毫秒)與開發(fā)哥哥溝通各淀,他會(huì)更喜歡你的,萬(wàn)一是個(gè)開發(fā)妹妹诡挂,你懂的碎浇!
3.這一條我相信不只是在做加載動(dòng)畫時(shí)需要考慮的,所有的交互視覺(jué)場(chǎng)景璃俗,都需要考慮這條原則:任何交互動(dòng)作所導(dǎo)致的狀態(tài)都需要考慮正常狀態(tài)與異常狀態(tài)奴璃。拿加載動(dòng)畫來(lái)說(shuō),我們需要考慮加載成功的反饋與加載失敗的反饋城豁,并將之注明在輸出規(guī)范中(雖然有些場(chǎng)景的加載的確沒(méi)有反饋狀態(tài)苟穆,但是在考慮全局時(shí),這些都是我們前期必須思考的內(nèi)容)唱星。
六雳旅、加載動(dòng)畫的流行趨勢(shì)
對(duì)于加載動(dòng)畫的流行趨勢(shì),不論是交互還是視覺(jué)间聊,國(guó)外很多主流app都是非常簡(jiǎn)潔并且無(wú)文字提示的攒盈,下面是部分截圖:
所以我大膽預(yù)測(cè)了一下,以后app的加載動(dòng)畫都應(yīng)該遵循越來(lái)越簡(jiǎn)潔的設(shè)計(jì)原則哎榴,突出內(nèi)容型豁,去掉無(wú)用的僵蛛、過(guò)渡的形式設(shè)計(jì)。也許無(wú)文字提示的加載動(dòng)畫確實(shí)是一個(gè)流行趨勢(shì)迎变!
以上就是目前階段我對(duì)于加載動(dòng)畫的一些總結(jié)與分析充尉,希望能對(duì)于你有一點(diǎn)啟發(fā)作用,如果你有不同的見解衣形,歡迎與我一起交流驼侠,大家共同進(jìn)步。