這個控件叫:Skeleton Screen/加載占位圖

8 評論 13139 瀏覽 90 收藏 7 分鐘

鑒于國內交互設計名詞混亂不統一,很多設計師不知道如何用專業術語稱呼一個控件,因此我開了《這個控件叫什么》專題,梳理控件的名稱和使用事項,希望能為推動交互設計發展,做出一點微小的貢獻。

Skeleton Screen(加載占位圖)是近年流行的加載控件,通常表現形式是在界面上待加載區域填充灰色的占位圖,與線框圖的效果非常相似。Skeleton Screen本質上是界面加載過程中的過渡效果。

Facebook的Skeleton Screen

Facebook的Skeleton Screen

Skeleton Screen的由來

Launch Screen(啟動屏幕)

當你啟動一個App時,需要從手機存儲器和網絡加載所需的控件和多數據,由于手機性能和網絡狀況的差異,加載需要等待無法避免。

為了解決等待加載過程中出現白屏或者界面閃爍造成的割裂感,iOS規范中規定把界面控件框架的輪廓做成靜態圖片用于Launch Screen(在Google的Material design規范里被稱作Placeholder UI),把Launch Screen放在用戶點擊啟動App之后和App真正正常啟動完成之間做過渡,從而消滅白屏和界面閃爍,給用戶一種App啟動很快的錯覺。(然而國內的App不遵循iOS規范,在Launch Screen里放廣告,這又是另外一個商業話題了)

Launch Screen

Launch Screen

非控件輪廓區域的內容變動很大,以上圖瀏覽器為例,Launch Screen僅僅顯示工具欄和地址欄,網頁內容區域留下了大量空白,顯然這不是最好的界面加載過渡方案。

Progress Indicator(進度指示器)

如果Launch Screen持續時間有點長,剛好用戶又盯著Launch Screen大量空白的內容區域,可能會認為App出BUG了——雖然App后臺正在辛勞的加載最新的數據。因此我們需要使用Progress Indicator來告知用戶目前正在加載。

Progress Indicator分為Activity Indicator(活動指示器)和Progress Bar(進度條)兩種,前者就是我們非常熟悉的“菊花轉”。

Activity Indicator和Progress Bar

Activity Indicator和Progress Bar

有了富含動效的Progress Indicator,用戶就知道我們的App并沒有出BUG,而是在辛勤的加載數據,再過不久就能正常的顯示內容了。

Progress Indicator設計出發點是好的,但是帶給用戶的體驗未必優秀。Progress Indicator的出現就意味著需要等待,當用戶注意力集中在Progress Indicator時,就好像學生盯著下課前五分鐘的鐘表,滴答滴答,時間似乎變得更慢了。我們當然不愿意讓用戶望著Progress Indicator產生焦躁的情緒。

Skeleton Screen應運而生

如果我們能在加載前把內容的大概輪廓預先展現出來,然后再逐步的加載真正的內容,這樣既用戶一種內容正在逐漸加載即將呈現的期待,降低了焦躁情緒,又使得界面加載的過程變得更順暢,感官上會覺得比其他加載方式更快。這就是Skeleton Screen!

Skeleton Screen與Activity Indicator對比 圖片來源:https://disciullodesign.wordpress.com/2015/03/13/animation-and-the-user-experience/

Skeleton Screen與Activity Indicator對比

圖片來源:https://disciullodesign.wordpress.com/2015/03/13/animation-and-the-user-experience/

Skeleton Screen這個概念最早出自Google產品總監,《Web表單設計》作者,Luke Wroblewski于2013年9月17日發表的博文《Mobile Design Details: Avoid The Spinner》里。(博文地址:http://www.lukew.com/ff/entry.asp?1797?)
目前國內有簡書、領英、新浪微博頭條文章頁采用這個加載方案。國外有Facebook iOS版、Medium、WordPress App、Slack等產品采用。相信以后會有更多的App和網頁會使用Skeleton Screen。

如何使用

適用于布局排版固定的內容區域

Skeleton Screen所展現的是內容的大概輪廓,如果內容布局和排版不是固定的,那么輪廓和內容布局的巨大差異,不僅不能給用戶順暢和期待感,反倒會造成落差。因此Skeleton Screen適用于布局排版固定的內容區域,例如列表、文章、個人信息。注意:如果內容區域有空頁面的情況,也不建議使用Skeleton Screen。

建議配合其他加載技術一起使用

用戶的網絡環境是復雜的,如果加載持續時間很久,單憑Skeleton Screen起不到流暢過渡的效果,建議配合懶加載(先文字后圖片)、逐條加載、預加載等技術,以達到更出色的體驗。

相關閱讀

這個控件叫:Text fields/輸入框/文本框

 

作者:龍爪槐守望者,微信公眾號:龍爪槐守望者

本文由 @龍爪槐守望者 原創發布于人人都是產品經理。未經許可,禁止轉載。

題圖來自PEXELS,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 有點意思哦

    來自黑龍江 回復
  2. 特地登錄,然后給你點贊。

    來自香港 回復
  3. 沙發

    來自上海 回復
  4. “因此Skeleton Screen適用于布局排版固定的內容區域,例如列表、文章、個人信息。注意:如果內容區域有空頁面的情況,也不建議使用Skeleton Screen”—這個結論對我很有用~謝謝

    來自廣東 回復
  5. 特別好,經常遇到想描述一個控件卻說不清楚它到底是什么問題。
    超級感謝?。?!

    來自廣東 回復
  6. 原來如此??

    回復
  7. 學習了

    來自天津 回復
  8. 寫的太棒了

    來自浙江 回復