android中常用的下拉刷新加载更多_如何设计“加载流程”
在頁面拉取數據、或提交某些數據時,需要一定的時間來等待服務端返回結果。如果不處理加載,用戶可能會看到一片空白,以為你的軟件出錯;或者因沒有建立心理預期,被突然出現的內容嚇到。所以,你可以利用這段時間來降低用戶的焦慮情緒、讓用戶對即將出現的內容有一定的預期。這就是處理“加載”狀態的意義。
在交互設計階段,經常會遇到需要處理“加載”的情況,接下來我從兩方面來講解下如何快速設計“加載”這件事:
“加載”的流程是怎樣的
要處理加載狀態,必須要理解整個加載流程,這4個狀態必須要搞懂:
- 【觸發】:即自動進行加載,或者點擊某個按鈕后進行的加載,這個觸發行為要明確;
- 【加載中】:這個就是出現一個loading,一般就是執行一個動畫。看似簡單,但這個不一定每個人都能處理好,一會兒會細說;
- 【加載成功】:成功后的行為,通常會顯示具體內容,或者進入某個頁面或流程,這在交互設計文檔中要明確標注;
- 【加載失敗】:有成功就有失敗,失敗的處理往往考驗交互設計師的邏輯完整性。在此狀態下應給與“重新加載”的機制。
所以你的交互流程必須涵蓋這四點,這樣一個基本的設計思路就有了。
“加載”應該怎樣分類
經常有人分為【全局加載 / 局部加載】,這種分類方式是片面的,在我看來不夠好。【全局】本身包含了【局部】這個概念,且到底多大算”局部“,全頁面算不算一個“大局部”,用起來容易混淆。經過實踐,應以使用場景來為“加載”進行分類,分別是:
- 內容加載
- 模態加載
- 上拉/下拉加載
內容加載
無論是整頁內容的加載,或是局部內容的加載,均屬于這類,整體流程如下圖:
整頁內容的加載示意局部內容的加載示意一般進入頁面會自動觸發,在加載時,允許用戶進行其他操作(如返回);加載成功時,顯示對應的內容;加載失敗時,可以點擊按鈕進行重新加載。
現在流行的框架圖,是一種加載形式上的演進,好處是讓用戶對接下來出現的內容有預期,但本質上仍然是內容的加載:
框架圖占位-本質上是一種加載形式的演進模態加載
應用場景一般是點擊某個按鈕后,此時需要和服務端進行交互,且需等待服務端返回結果,這個過程會消耗一定時間,此時需明確告知用戶:
一個典型的表單提交流程使用模態加載時,典型的觸發時機是點擊某個按鈕;在加載中的時候,一般不允許用戶進行操作,會出現蒙層將頁面整體遮擋(這個蒙層可以是黑色半透明,也可能是全透明的,視覺效果不同而已);
也有部分APP在loading時帶個關閉操作,如百度地圖、高德地圖,可以臨時關閉loading動畫,來讓用戶重新獲取對APP的控制;但只要設置好loading的超時時間,一般不需要此關閉按鈕。加載成功時,會視業務流程而進入其他頁面;加載失敗時,一般會彈出toast進行提示,用戶可以點擊按鈕再次進行加載。
上拉/下拉加載
這是一種帶有交互手勢的加載行為,其實和點擊某個按鈕進行加載沒有本質區別。Twitter最先開始使用“下拉加載”,慢慢的變為行業內的標準行為,以至于影響用戶的習慣。
這個交互最應關注的是【觸發機制】,以“下拉加載”為例,它包含3個過程:
加載過程中,可以使用一些富有創意的動畫,來突顯品牌形象;加載成功時,頁面內容進行刷新;加載失敗時,一般會進行toast提示。
這個例子比較多,大家隨便找找常用的APP,都能發現一些使用場景,我這里就不舉例了。
需要注意的問題
- 加載類型不要混用,有不少APP為了省事,在應該使用全頁面的【內容加載】時,反而使用了【下拉加載動畫】進行替代,這有時會導致一些莫名其妙的問題。
比如有一個長列表,每次刷新都使用下拉加載動畫,用戶已將列表滾動了一段距離,在數據刷新后列表可能會被重置在頂部,讓用戶之前滾動操作失效。
- 涉及到圖片的加載流程,會有兩次網絡請求:第一次會詢問服務端“是否有圖片”,如果有圖片,那么第二次會根據服務端返回的地址,再去拉取圖片資源。
這種情況下,一般在第一次請求時不建議出現局部loading,因為圖片可能會不存在。在確認圖片存在后,會使用占位圖(一般是個灰底圖片,占位用的)來等待第二次的返回結果。當然,這也要視具體場景而設計。
- 全文只描述了“加載”這一種場景,完善的加載流程也需要考慮到“刷新機制”及“緩存策略”(如X秒自動刷新數據、提前緩存數據以減少加載時間等),這里就不展開講了,感興趣的同學可以自行搜索“加載、刷新、緩存”三者的聯系。
以上,希望能幫助到你。
總結
以上是生活随笔為你收集整理的android中常用的下拉刷新加载更多_如何设计“加载流程”的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是个人自用车贷款
- 下一篇: 基金是什么意思