四種App彈窗設(shè)計:Toast、Dialog、Actionbar 和 Snackbar

48 評論 132889 瀏覽 764 收藏 13 分鐘

彈窗又稱為對話框,是App與用戶進(jìn)行交互的常見方式之一。

彈窗分為模態(tài)彈窗和非模態(tài)彈窗兩種,兩者的區(qū)別在于需不需要用戶對其進(jìn)行回應(yīng)。

模態(tài)彈窗會打斷用戶的正常操作,要求用戶必須對其進(jìn)行回應(yīng),否則不能繼續(xù)其它操作;非模態(tài)彈窗則不會影響用戶的操作,用戶可以不對其進(jìn)行回應(yīng),非模態(tài)彈窗通常都有時間限制,出現(xiàn)一段時間后就會自動消失。

非模態(tài)彈窗一般被設(shè)計成用來告訴用戶信息內(nèi)容,而模態(tài)彈窗除了告訴用戶信息內(nèi)容外還需要用戶進(jìn)行功能操作。

無論是模態(tài)還是非模態(tài),彈窗都是位于當(dāng)前頁面的最頂層。模態(tài)彈窗常常都還會伴隨半透明的遮罩來吸引用戶的視覺焦點,以突出彈窗的信息內(nèi)容。

隨著開發(fā)技術(shù)的發(fā)展,彈窗的方式和樣式多種多樣,彈窗也被定制化設(shè)計成很多種風(fēng)格和版本。最常見的基本彈窗有以下四種:

Toast、Dialog、Actionbar 和 Snackbar

2

Toast 提示框

Toast提示框是一種非模態(tài)彈窗,它彈出一個小信息,作為提醒或消息反饋來用,一般用來顯示操作結(jié)果,或者應(yīng)用狀態(tài)的改變。

例如你發(fā)出了一條短信,App彈出一個Toast提示你消息已發(fā)出。

最常見的Toast提示框為一句簡短的描述性文字。這種樣式的彈窗可以出現(xiàn)在頁面的任何位置,可設(shè)置成在頁面頂部、中部或者在底部出現(xiàn)(但一般都是出現(xiàn)在頁面的中軸線上),具體的顯示位置根據(jù)頁面的整體設(shè)計進(jìn)行設(shè)置。該種Toast在安卓App上十分常見。

還有一種Toast彈窗由簡單的圖形和簡短的文字組成,顯示位置一般位于頁面正中央。這種Toast在iOS和安卓上都可以經(jīng)常見到。

3

iOS中建議,設(shè)計一種引人注目但又和App 的界面協(xié)調(diào)融合的方式去展示信息。這種展示信息的方式和安卓純文本的Toast相似,只是界面交互有所不同,它一般在內(nèi)容頁頂部向下推動出現(xiàn),然后向上推動消失。這種展示信息的方式現(xiàn)在也在安卓平臺上使用。例如騰訊新聞App的iOS版和安卓版均采用了這種形式的Toast彈窗進(jìn)行刷新功能的操作提醒。

4

考慮到Toast提示框顯示的時間較短(幾秒種)、占用區(qū)域不大,它容易被用戶忽略,所以Toast不適合承載過多的文字和重要信息。

Dialog 對話框

Dialog對話框是一種模態(tài)彈窗。當(dāng)用戶進(jìn)行了敏感操作,或者當(dāng)App內(nèi)部發(fā)生了較為嚴(yán)重性的狀態(tài)改變,這種操作和改變會帶來影響性比較大的行為結(jié)果,在該結(jié)果發(fā)生前以Dialog對話框的彈窗形式告知用戶且讓用戶進(jìn)行功能選擇。比如退出App、進(jìn)行付費下載等功能操作。

一般情況下Dialog由標(biāo)題、信息內(nèi)容和功能按鈕組成,只有當(dāng)用戶點擊了某個功能按鈕后彈窗才會消失,App隨即執(zhí)行該功能操作,進(jìn)入相應(yīng)的功能流程。

5

Dialog的標(biāo)題和信息內(nèi)容的文字描述都要設(shè)計成盡可能的簡潔和無異義,也可以選擇省略標(biāo)題只保留內(nèi)容描述和功能按鈕(實際上大多數(shù)Dialog都被設(shè)計成沒有標(biāo)題的樣式)。

使用Dialog,功能按鈕最好只有兩個,讓用戶選擇“是”或“非”的功能操作(“是”指對內(nèi)容描述的確認(rèn)操作,比如確認(rèn)刪除、確認(rèn)付費;“非”一般指取消操作,然后關(guān)閉彈窗);也常被設(shè)計成只有一個“確認(rèn)”按鈕,目的是讓用戶閱讀內(nèi)容后點擊關(guān)閉彈窗(這種樣式的Dialog,信息內(nèi)容必須非常有必要性以至于需要打斷用戶的操作進(jìn)行信息內(nèi)容閱讀確認(rèn),否則請用Toast進(jìn)行非模態(tài)彈窗提示)。

6

若Dialog對話框出現(xiàn)三個或以上的功能按鈕,將會增加用戶的功能選擇負(fù)擔(dān),所以需要使用多個功能按鈕選擇的時候請考慮使用Actionbar。

Actionbar 功能框

Actionbar功能框可以看成是Dialog的一種延伸設(shè)計,兩者都是模態(tài)彈窗,用戶必須進(jìn)行回應(yīng),否則彈窗不會消失,用戶無法繼續(xù)其它操作。Actoinbar比Dialog擁有更多的功能按鈕,提供給用戶更多的功能選擇,Acionbar一般都設(shè)計有一個默認(rèn)的“取消”功能按鈕,點擊該按鈕后關(guān)閉彈窗,用戶點擊彈窗以外的區(qū)域時相當(dāng)于進(jìn)行了點擊“取消”功能按鈕的默認(rèn)回應(yīng)。

Actionbar一般被設(shè)計用來向用戶展示多個功能按鈕選擇。

在iOS中,Actionbar的樣式比較常見的是文字列表框,它出現(xiàn)在頁面底部,以簡潔的功能描述性文字展示功能按鈕,敏感的功能操作一般用紅色字體標(biāo)出(也可以設(shè)計其它顏色以突出某個功能按鈕)。

7

當(dāng)功能按鈕數(shù)量很多的時候,文字列表的形式不適合顯示,此時可以用圖形加文字描述排列的形式來進(jìn)行展示。這種樣式下需要注意彈窗內(nèi)各功能按鈕的UI設(shè)計和排列布局。

8

安卓系統(tǒng)中也有文字列表和圖文排列兩種樣式的Actionbar。

9

在安卓系統(tǒng)中,Actionbar還經(jīng)常被設(shè)計成“選擇列表框”(其實就是用選項代替了功能按鈕),比如安卓版的微信App中就是用這種設(shè)計方式讓用戶進(jìn)行性別選擇。這種設(shè)計方式的好處是減少了功能流程中的頁面跳轉(zhuǎn),但是如果選項很多而且描述文字較多的時候,還是設(shè)計成選項詳情頁更好些。

10

Snackbar 提示對話框

Snackbar提示對話框是安卓系統(tǒng)的特色彈窗之一(安卓平臺在開發(fā)的時候可以直接調(diào)用Snackbar類生成該彈窗,iOS好像也可以進(jìn)行定制化設(shè)計開發(fā)),它也是一種非模態(tài)彈窗,同時擁有Toast和Dialog的特點,不會打斷用戶正常的操作流程,它除了可以告訴用戶信息內(nèi)容,還可以與用戶進(jìn)行對話交互(用戶可以點擊功能按鈕進(jìn)行回應(yīng))。

11

一般情況下,Snackbar由信息內(nèi)容加一個功能按鈕組成,用戶點擊了功能按鈕后彈窗消失,App隨即執(zhí)行該操作,進(jìn)入相應(yīng)的功能流程。Snackbar跟Toast一樣是有時間限制的,即使用戶不進(jìn)行回應(yīng),彈窗出現(xiàn)一段時間后也會自動消失。

與Taost相似,Snackbar彈出一個小信息,作為提醒或消息反饋來用,一般用來顯示操作結(jié)果,另外可以提供一個功能按鈕給用戶選擇使用。例如你刪除了某張圖片,App彈窗告訴你刪除成功,并提供一個“撤銷刪除”功能按鈕給你進(jìn)行對應(yīng)的功能操作。

12

Snackbar還可以被設(shè)計成只有信息內(nèi)容而沒有功能按鈕,這種樣式的Snackbar用戶無法進(jìn)行操作,只能等它自動消失,此時它就相當(dāng)于一種文字描述型的Toast,只是表現(xiàn)形式有所不同。

13

這種樣式的Snackbar和Toast對比如下:

14

個人比較喜歡安卓系統(tǒng)采用Snackbar與用戶進(jìn)行非模式彈窗交互,因為這種彈窗本身擁有比較友好的UI交互,顯示內(nèi)容和提醒度也比Toast好,還能提供一個功能按鈕給用戶選擇使用。但是考慮到界面的整體設(shè)計,只有在界面內(nèi)的元素大多為靜態(tài)或者底部的空白區(qū)域較大,而且需要提示給用戶的內(nèi)容比較多(無法用一個簡短的句子能描述完)的時候,這種彈窗才會給用戶更好的交互體驗。否則本來界面就一大堆動態(tài)元素或者底部本來就充滿信息內(nèi)容,此時再從底部向上滑出一個彈窗,會顯得整個界面非常擁擠和凌亂,而一般情況下移動端的App產(chǎn)品更多的是傾向于簡約設(shè)計。

使用彈窗要克制

并不是所有的彈窗設(shè)計都會被用戶接受,特別是廣告類彈窗常常會被用戶所厭惡。我們在使用彈窗的時候要盡量克制,要考慮信息內(nèi)容的必要性和目的性(商業(yè)推廣或者增值服務(wù)等目的),來選擇是否使用彈窗和使用哪種方式和樣式的彈窗。

一旦選擇使用彈窗,請盡量少用,一般情況下都把彈窗的層級控制在只有一級(即關(guān)閉了一個彈窗后不會馬上出現(xiàn)新的彈窗),接連不斷的出現(xiàn)彈窗只會增加用戶想要卸載App的欲望(愚人節(jié)整蠱設(shè)計除外^_^)。

 

本文由 @Jenskee 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載

更多精彩內(nèi)容,請關(guān)注人人都是產(chǎn)品經(jīng)理微信公眾號或下載App
評論
評論請登錄
  1. 不能轉(zhuǎn)載,可以潮汐您的文章嗎

    來自安徽 回復(fù)
    1. hhhh什么呀

      來自江蘇 回復(fù)
  2. 文章中所舉例的不是ActionBar,而是ActionSheet。

    來自廣西 回復(fù)
  3. 受益匪淺啊,最近正好在學(xué)習(xí)相關(guān)知識,有一個疑問,有的彈窗除了點擊彈窗中的按鈕,也可以點擊周圍的灰色區(qū)域,有的只能點擊按鈕,這兩個都是dialog彈窗嗎??

    來自北京 回復(fù)
    1. 按照顯示效果來看的話,是都屬于dialog,只是兩者對觸發(fā)條件的判斷不一樣,后者把窗口外的任何點擊都視為取消操作

      來自廣東 回復(fù)
  4. 工作中剛好也用到,學(xué)習(xí)了,謝謝分享啊

    來自廣東 回復(fù)
    1. 很幸運能幫到你

      來自廣東 回復(fù)
  5. 期待更多

    來自上海 回復(fù)
    1. 可以訂閱我,分享更多產(chǎn)品知識

      來自廣東 回復(fù)
  6. 淘寶京東類的購物產(chǎn)品移動端,選擇規(guī)格、參數(shù)那類的彈窗叫什么名字?

    來自上海 回復(fù)
    1. Actionbar功能框

      來自吉林 回復(fù)
  7. 非常棒,剛好解決了我遇到的問題 ??

    來自上海 回復(fù)
    1. 很高興能幫助到你

      來自廣東 回復(fù)
  8. Alert與Dialog的區(qū)別是什么?

    來自河南 回復(fù)
    1. 貌似是一樣的東西,只是叫法不一樣 ?

      來自廣東 回復(fù)
    2. alert應(yīng)該是ios的官方彈出框,Dialog是md的

      來自陜西 回復(fù)
    3. Alert應(yīng)該更多的是PC Web的彈窗吧,移動端叫Dialog比較多

      來自廣東 回復(fù)
  9. 太贊了,昨天正好遇到這個問題,看了此文章受益匪淺,蟹蟹。 ??

    來自北京 回復(fù)
    1. 很高興能幫助到你

      來自廣東 回復(fù)
  10. 好像每個回復(fù)都被回復(fù)了,我來試試 ??

    來自四川 回復(fù)
    1. 嗯嗯是的啊,你們認(rèn)真閱讀認(rèn)真評論了,我就得要認(rèn)真回復(fù)回報你們的嘛

      來自廣東 回復(fù)
  11. mark~講的比較詳細(xì) ??

    來自北京 回復(fù)
    1. thanks

      來自廣東 回復(fù)
  12. Actionbar 功能框和Dialog 對話框有運用場景怎么區(qū)分?我個人主觀設(shè)計比較傾向于Actionbar 功能框,但我發(fā)現(xiàn)大多數(shù)APP兩種都混合著用。所以想問一下有沒有明確的思路去區(qū)分它倆的運用場景?

    來自廣東 回復(fù)
    1. Actionbar功能框可以看成是Dialog的一種延伸設(shè)計,Actoinbar比Dialog擁有更多的功能按鈕,提供給用戶更多的功能選擇。在使用場景來說,Acionbar一般讓用戶進(jìn)行選擇,而Dialog則是讓用戶進(jìn)行是非判斷。

      來自廣東 回復(fù)
  13. dialog和actionbar用來強(qiáng)制用戶進(jìn)行點擊操作,
    toast反饋用戶操作,剛才用戶的點擊操作有沒有生效
    Snackbar反饋用戶操作,剛才用戶的點擊操作有沒有生效。并且可以鏈接到使用幫助

    來自四川 回復(fù)
    1. 嗯嗯,謝謝你幫我總結(jié)了呢,不愧是大神,言簡意賅哈

      來自廣東 回復(fù)
    2. 見笑了,我只是班門弄斧,在您詳細(xì)的介紹下才明白的這些。

      來自四川 回復(fù)
  14. 好贊,可否提供幾個設(shè)計比較抓人眼球的toast例子

    回復(fù)
    1. toast是最簡單最常用的非模態(tài)彈窗呀,如果系那個要設(shè)計成抓人眼球的話還可以添加模糊遮罩突出要提示的內(nèi)容

      來自廣東 回復(fù)
  15. 漲知識

    來自安徽 回復(fù)
    1. 你想要的姿勢我都會 ??

      來自廣東 回復(fù)
    2. 你要是個妹子,我就跟你學(xué)姿勢 ?

      來自安徽 回復(fù)
  16. 建議多看看別人做snackbar toast這種控件的初衷是解決什么場景什么用途的!

    來自北京 回復(fù)
    1. 好的,受教了

      來自廣東 回復(fù)
  17. 你這里,一:平臺概念區(qū)分不明顯;二:源生和第三方插件未區(qū)分,感覺講點有點蒙!

    來自北京 回復(fù)
  18. 你好,我是微信公眾號:超級大數(shù)據(jù) 的小編,我可以轉(zhuǎn)載您的文章嗎

    來自廣東 回復(fù)
    1. 謝謝您想要轉(zhuǎn)載本文,我拜讀過您的公眾號,好像本文不太適合您的公眾號定位,所以期待下次有機(jī)會的話再合作吧 ??

      來自廣東 回復(fù)
  19. 好棒。

    回復(fù)
    1. 你也棒棒噠 ??

      來自廣東 回復(fù)
  20. 長知識啦

    回復(fù)
    1. 能幫助您長知識是我的榮幸 ??

      來自廣東 回復(fù)
  21. 贊~~~已收錄在個人知識樹

    來自廣東 回復(fù)
    1. 謝謝收錄

      回復(fù)
  22. 總結(jié)的不錯,文章也很清晰。。贊一個 ??

    來自廣東 回復(fù)
    1. 謝謝

      回復(fù)
  23. 根據(jù)這四種彈窗的特性和使用場景行了模擬產(chǎn)品原型設(shè)計,由于篇幅有限未能把它們寫入本文中,有興趣的讀者可以去閱讀原文,在原文末尾有場景設(shè)計和原型分享。
    原文鏈接:http://www.jianshu.com/p/d6c9a485c061

    來自廣東 回復(fù)
    1. 棒棒噠~多謝po主

      來自湖北 回復(fù)