某日和iOS開發(fā)聊天界弧,說到iOS規(guī)范里沒有安卓中的Toast形式的提示凡蜻。我有點(diǎn)驚訝,仔細(xì)回憶iOS的交互規(guī)范垢箕,似乎是有划栓。后來找來書確認(rèn)了下,竟然是沒有条获。遂把這個(gè)框架整理了下忠荞,在文中同時(shí)也強(qiáng)調(diào)下Android的交互規(guī)范的差異。在對(duì)比這兩個(gè)差異的同時(shí)也能更好的了解這個(gè)框架的設(shè)計(jì)思想月匣。
描述
用戶操作后钻洒,在APP執(zhí)行操作前以模態(tài)方式讓用戶確認(rèn)操作奋姿,或在操作告知操作結(jié)果锄开。
(ps.非模態(tài)形式反饋暫不在討論范圍)
一、構(gòu)成元素
標(biāo)題
文字
按鈕
二称诗、使用前提
case1:會(huì)造成嚴(yán)重破壞
case2:存在誤操作可能性萍悴,并且會(huì)造成嚴(yán)重后果或不便
case3:會(huì)造成嚴(yán)重破壞,并且可撤銷
case4:進(jìn)一步對(duì)所做的操作進(jìn)行確定和執(zhí)行
三寓免、表現(xiàn)形式
1.Toast
Android中的Toast是一種簡(jiǎn)易的消息提示框癣诱。
告知用戶任務(wù)狀態(tài),操作結(jié)果袜香,例如:發(fā)送成功撕予,加載中,刪除成功蜈首。
Toast會(huì)在屏幕所有層的最上方实抡。
顯示時(shí)間有限,1s+左右消失
考慮到顯示的時(shí)間欢策,容易被用戶忽略吆寨,不適合承載過多的文字和重要信息。
這么一來踩寇,其實(shí)這個(gè)功能似乎有點(diǎn)雞肋啄清,怪不得在iOS中建議,設(shè)計(jì)一種引人注目但又和你的 app 的樣式相協(xié)調(diào)的方式去展示信息俺孙。很多APP中也是這么做的辣卒,脈脈的刷新成功掷贾,花瓣的上傳成功。
也有的如支付寶使用的方框形式荣茫。
但要注意胯盯,Toast的出現(xiàn)與用戶的操作行為緊密相關(guān),所以其出現(xiàn)的位置與用戶的操作最好能聯(lián)系在一起计露,如上圖中今日頭條下拉刷新后的提示博脑,支付寶轉(zhuǎn)賬成功的位置。
Toast一般有簡(jiǎn)短文字或者簡(jiǎn)單易懂的圖標(biāo)票罐,如刪除成功字樣或者簡(jiǎn)單易懂的圖標(biāo)
Android 對(duì)Toast的作用介紹是叉趣,主要用于提示系統(tǒng)消息,但實(shí)際運(yùn)用不僅限于此该押。
可以看到疗杉,是否把Toast融合于界面之中,其實(shí)影響的提示框架的一個(gè)特點(diǎn)蚕礼,顯示層級(jí)最高烟具,打斷用戶的其他操作,讓用戶專心于提示框架顯示的信息奠蹬。而Toast的信息剛好踩在了這個(gè)臨界點(diǎn)上朝聋,不太重要的信息是否需要打斷用戶的操作。這個(gè)就要看各個(gè)產(chǎn)品對(duì)這個(gè)信息傳達(dá)的重要性的判斷了囤躁。
2.Snackbars
在Android出的Material Design中又提出了一個(gè)與Toast類似的Snackbars冀痕。
Snackbar 是一種針對(duì)操作的輕量級(jí)反饋機(jī)制,通常出現(xiàn)在手機(jī)屏幕或者桌面端左下方狸演,以浮動(dòng)彈出框的形式存在言蛇。
與Toast相同,Snackbar也會(huì)出現(xiàn)屏幕所有層的最上方宵距,包括浮動(dòng)操作按鈕腊尚;短暫出現(xiàn)后,會(huì)主動(dòng)消失满哪。
但Snackbar帶有一定的交互性婿斥,用戶觸摸屏幕其他地方后自動(dòng)消失,也可以在屏幕上滑動(dòng)關(guān)閉翩瓜。
而且Snackbar有時(shí)候可以帶有一個(gè)操作受扳,如撤銷。對(duì)于一些可能會(huì)有不好后果的操作兔跌,并且可撤銷勘高,可以以Snackbars 的形式告知并提供撤銷按鈕。
3.Alert
在用戶進(jìn)行操作后,APP執(zhí)行操作前华望,如果用戶的操作的結(jié)果會(huì)帶來比較嚴(yán)重的后果蕊蝗,如不可撤銷的數(shù)據(jù)刪除,金錢交易赖舟,退出登錄等蓬戚。出現(xiàn)模態(tài)的提示框,包括說明性的標(biāo)題宾抓、文字和進(jìn)一步確定按鈕(1-N)子漩。
使用Alert時(shí)必須傳達(dá)出清楚且可操作的信息。和其他的模態(tài)提示一樣石洗,Alert會(huì)打斷用戶的操作幢泼,要求用戶集中精力來處理其傳達(dá)的信息,并需要一次點(diǎn)擊才能結(jié)束讲衫,因此要讓用戶明確知道警告框出現(xiàn)的合理性和必要性缕棵。并且Alert的出現(xiàn)必須非常克制涉兽,這樣用戶才不會(huì)因?yàn)轭l繁的點(diǎn)擊確定而導(dǎo)致不必要的損失招驴。所以其中每個(gè)元素的設(shè)計(jì)都要經(jīng)過細(xì)致的考慮,如下文枷畏。
3.1標(biāo)題
iOS要求標(biāo)題的文字必須簡(jiǎn)潔易懂别厘,快速傳達(dá)當(dāng)前的情境和對(duì)應(yīng)的解決方案。
最好使用短句矿辽,偏于理解丹允。
恰當(dāng)?shù)氖褂脴?biāo)點(diǎn),是一個(gè)短句或一個(gè)簡(jiǎn)單但又不是問句的句子袋倔,句末不需要句號(hào)。如果是一個(gè)問句折柠,句末使用問話宾娜。
android中提示框的標(biāo)題是可選的,用于說明提示的類型扇售∏八可以是與之相關(guān)的程序名,或者是選擇后會(huì)影響到的內(nèi)容承冰。例如:設(shè)置华弓,音量等。
3.2文字
在iOS中推薦使用標(biāo)題困乒,只有在標(biāo)題無法簡(jiǎn)短清晰的傳遞意思才再補(bǔ)充文字說明寂屏。
對(duì)正文的要求與標(biāo)題類似,一個(gè)簡(jiǎn)短、完整的句子迁霎。同時(shí)盡量讓文字足夠簡(jiǎn)短以便能在一兩行之間顯示吱抚。不要讓警告框出現(xiàn)滾動(dòng)條,這絕對(duì)不是好的體驗(yàn)考廉。如果必須出現(xiàn)秘豹,則需要有足夠的視覺線索。
不需要在文字中說明每個(gè)按鈕的意思和結(jié)果昌粤,讓按鈕本身的文本來顯示其對(duì)應(yīng)的操作和結(jié)果既绕。
不要用長句
不要用倒裝
不要用否定
不要有歧義
要提供給用戶足夠決策的信息
3.3按鈕
在iOS中推薦使用兩個(gè)按鈕的警告框,如果更多可以考慮使用下文的操作欄涮坐“陡“兩個(gè)按鈕的Alert通常是最有用的,因?yàn)閷?duì)人們來說在兩個(gè)按鈕之間做選擇最容易膊升。單個(gè)按鈕的Alert就不那么有用怎炊,因?yàn)樗ǔV皇翘崾居脩簦]有賦予用戶任何對(duì)當(dāng)前狀況的控制能力廓译。包含三個(gè)或三個(gè)以上按鈕的Alert明顯比雙按鈕Alert復(fù)雜评肆,應(yīng)該盡可能避免使用》乔”
在android中倒沒這個(gè)要求瓜挽,android的Alert同時(shí)起到了iOS里Alert和操作欄的警告,通知和選擇作用征绸。如果各自遵守交互規(guī)范倒是沒有太多的好壞之分久橙。
在各個(gè)APP中最常見的也是2個(gè)按鈕的Alert,所以前段時(shí)間也看見知乎上一個(gè)帖子在討論確定和取消按鈕的左右問題管怠。
這里的“確定”代表的是確定執(zhí)行操作按鈕淆衷,按鈕名稱可以刪除,繼續(xù)渤弛,退出等等祝拯。而“取消”代表的是放棄這個(gè)操作,比如不保存她肯,取消退出等佳头。
在iOS中,明確這兩個(gè)之后再考慮一個(gè)前提晴氨,確定操作如果誤點(diǎn)不會(huì)帶來比較嚴(yán)重的后果康嘉,而且是用戶比較有可能的操作,那應(yīng)該放在右邊籽前,同時(shí)可以柔和的顏色提示按鈕的安全性亭珍;取消按鈕則放在左側(cè)敷钾。
如果確定按鈕誤點(diǎn)會(huì)帶來比較嚴(yán)重的后果,且是用戶比較有可能的操作块蚌,那比較適合放在左側(cè)闰非,并且可以用醒目的顏色(紅)作為警示。
如果取消按鈕誤點(diǎn)會(huì)帶來比較嚴(yán)重的后果峭范,且不是用戶比較有可能的操作财松,那適合放在左側(cè)。
如果沒有按鈕誤點(diǎn)會(huì)帶來比較嚴(yán)重的后果纱控,那辆毡。。甜害。就不要用Alert~
另外舶掖,Alert中的按鈕要與其上的文本對(duì)應(yīng),不要用爛大街的確定尔店,取消眨攘,要用明確告知操作后果的文字,如保存嚣州,刪除鲫售,轉(zhuǎn)賬等。用戶已經(jīng)養(yǎng)成了看見確定就點(diǎn)確定的習(xí)慣该肴,所以要用明確的動(dòng)作來提示情竹。
在android中比較簡(jiǎn)單,確定類事件都放在右側(cè)匀哄,取消類事件就放在左側(cè)秦效。個(gè)人比較喜歡iOS的設(shè)計(jì)規(guī)范,更人性化一點(diǎn)涎嚼,產(chǎn)品人員考慮的更多一點(diǎn)阱州,用戶就可以少考慮一點(diǎn)。
在android中Alert還起到選擇的作用铸抑,所以多個(gè)選擇的情況剛常見贡耽,這時(shí)候起到的有點(diǎn)類似iOS的操作欄,進(jìn)一步確定和選擇所要的操作鹊汛。
4.操作欄
在iOS中,用戶操作后阱冶,需要進(jìn)行確認(rèn)和操作的按鈕大于3個(gè)刁憋,會(huì)推薦使用操作欄的形式。
不帶標(biāo)題木蹬,可能有文字介紹至耻,具體要求與Alert文字類似。
顯示兩個(gè)或兩個(gè)以上的按鈕。
使用紅色和靠近操作列表頂部來提醒用戶注意那些執(zhí)行潛在破壞性操作的按鈕尘颓。
取消按鈕放在最下的位置并與其他按鈕做一定的區(qū)分走触。
如果選擇按鈕太多,可以參考下圖的形式組織按鈕和滾動(dòng)顯示疤苹,但要留有足夠的視覺線索互广。
四、位置:
可以發(fā)現(xiàn)卧土,操作欄的位置一般是從頁面底部跳出惫皱,然后停留在頁面底部的地方;而Alert一般是出現(xiàn)頁面的中間尤莺;
Toast則比較多變旅敷,和用戶前置操作的位置,信息的重要性颤霎,Toast的形態(tài)相關(guān)媳谁。
主要有頂部;內(nèi)容區(qū)上方友酱,導(dǎo)航下方(如下拉刷新)晴音;頁面中間(整體性,比較重要的信息提示)粹污;頁面下方段多,菜單欄上方(最常見);頁面底部壮吩;與操作按鈕融合等进苍。這么一算,就沒不能放的地方鸭叙。除了一個(gè)點(diǎn)觉啊,不要在模態(tài)的界面上再出現(xiàn)一個(gè)模態(tài)框架,這樣會(huì)導(dǎo)致層級(jí)的復(fù)雜化和提示框任務(wù)的簡(jiǎn)單明確沈贝。
五杠人、注意:
要注意隨時(shí)提供一個(gè)明顯而安全的退出模態(tài)框架的方式,這種方式一般是等同于點(diǎn)擊“取消”宋下,如點(diǎn)擊空白區(qū)域嗡善,安卓的虛擬鍵等。
提示框架如非必要不要出現(xiàn)学歧,尤其Alert形式罩引,出現(xiàn)得少會(huì)有助于用戶對(duì)其認(rèn)真對(duì)待。
回想下自己在pc端刪除東西時(shí)點(diǎn)擊確認(rèn)的毫不猶豫枝笨,就要相信用戶在警告框出現(xiàn)的時(shí)候的點(diǎn)擊“確認(rèn)”更多的是下意識(shí)的袁铐,所以注意不要完全寄希望與提示框架揭蜒。要靠比用戶想的更多更完善來避免提示框架的出現(xiàn)。