Toast(吐司提示)的曾經(jīng)、現(xiàn)在與未來
![](http://image.woshipm.com/wp-files/img/104.jpg)
本篇屬于《這個控件叫什么》專題,鑒于大家對Toast的名稱和使用事項都非常熟悉,因此劍走偏鋒來八卦一下Toast的前世今生,揭示Toast少有人知的另一面。
Toast的曾經(jīng)
Toast概念的由來
除了Android規(guī)范,Windows的規(guī)范中也有Toast,但定義不一樣。Toast在Android中的定義就是大家所熟悉的黑色半透明提示,而在Windows的規(guī)范中Toast概念幾乎等同于Android的一條Notification(通知)。
Windows Phone中的Toast
Windows和Android的Toast有著千絲萬縷的聯(lián)系,據(jù)說一位微軟前員工在開發(fā)MSN Messenger時,覺得MSN彈出通知方式很像烤面包(Toast)烤熟時從烤面包機(Toaster)里彈出來一樣,因此把這種提示方式命名為Toast,后來這位微軟前員工帶著這一習(xí)慣命名跳槽去了Google。
(?https://en.wikipedia.org/w/index.php?title=Toast_%28computing%29&oldid=459336160?)
Toast的由來
iOS里的HUD
仔細閱讀iOS設(shè)計指南就會發(fā)現(xiàn)并沒有Toast這個控件,但iOS中確實有類似于Toast樣式出現(xiàn),例如iOS的音量調(diào)節(jié)提示。 iOS 把這個組件叫做 UIProgressHUD(HUD意思很可能是heads up display),可惜這個組件是系統(tǒng)私有的,第三方App無法直接獲取使用,因此出現(xiàn)了各種模仿它的第三方控件,例如MBProgressHUD、 SVProgressHUD還有JGProgressHUD,從此以后HUD就成了iOS開發(fā)者里達成共識的半官方概念。
UIProgressHUD
Toast的現(xiàn)在
被泛化的Toast
你要是執(zhí)著的把HUD念做Toast,大家也能理解,因為如今Toast的概念已經(jīng)泛化,早已打破了Android的規(guī)范。
在Android正統(tǒng)的規(guī)范中Toast:
出現(xiàn)在屏幕底部。
只能放文字不能帶圖標(biāo),文字要精簡不宜太長。
不是模態(tài)的,可以透過Toast對其他控件進行操作。
短時間后會自動消失。
不能對Toast進行交互,不能手動操作讓Toast主動消失。
在市面上很容易找到打破這個規(guī)則的Toast樣式,例如加載:出現(xiàn)在屏幕中間、帶圖標(biāo),是模態(tài)的,如果網(wǎng)速很慢,Toast可能會持續(xù)很長時間,可以通過操作讓其主動消失。
打破原有規(guī)則的Toast
泛化使得Toast原本的定義變得模糊,拓展了很多新的使用場景。控件定義和用途的變化也在隨著時間演化,演化出符合業(yè)務(wù)和用戶習(xí)慣的新形式反過來又會促成新的控件定義和規(guī)范,目前在移動平臺里,似乎所有半透明矩形提示和反饋都可以被稱作Toast。連iOS官方的Apple Store App都開始使用類似Toast的控件。
頂部Toast
除了Toast概念的泛化,最近不少iOS App在嘗試將Toast的位置由屏幕底部和中間改到頂部,這樣做有幾個好處:
- 出現(xiàn)位置穩(wěn)定。不會因為軟鍵盤出現(xiàn)導(dǎo)致原本在屏幕底部或中間的Toast被遮蓋或浮動到其他位置。
- 更容易引起用戶注意。iOS持續(xù)錄音、GPS被使用、正在通話狀態(tài)、還有活動指示器和系統(tǒng)push通知都出現(xiàn)在屏幕頂部,iOS用戶更習(xí)慣于在頂部感知反饋信息。
- 不干擾用戶瀏覽主體內(nèi)容。Toast出現(xiàn)在屏幕頂部不會遮擋主體內(nèi)容。
頂部Toast
Toast的未來
Toast有很多優(yōu)點:
- 占用屏幕空間小。
- 不會打斷用戶操作。
- 使用簡單適用范圍廣,人人都是會用Toast的產(chǎn)品經(jīng)理。
但Toast也有不少缺點:
- 出現(xiàn)時間短,在碎片化時代注意力不集中容易錯過Toast提示。
- 雖然非模態(tài),但是黑乎乎的樣式上給人一種模態(tài)的錯覺,會打斷心流。
- 遮蓋其他控件,但不能對Toast進行交互。
更為嚴(yán)重的是Toast被濫用的情況比較嚴(yán)重,當(dāng)一個App在加載、表單提示、狀態(tài)變更反饋、斷網(wǎng)消息等使用Toast,不斷出現(xiàn)的黑乎乎矩形會對整個體驗帶來非常大的阻塞感,有時候甚至?xí)瑫r出現(xiàn)兩個Toast或者持續(xù)彈出同一個Toast等令人啼笑皆非的情況。
同時兩個Toast
持續(xù)彈出同一個Toast
代替Toast的其他形式
濫用Toast是懶惰的做法,設(shè)計師完全有其他形式代替Toast,達到更優(yōu)雅的用戶體驗。
頁面內(nèi)提示
這種提示可以常駐在頁面里,即使用戶短時間內(nèi)注意力轉(zhuǎn)移,提示也不會消失,確保用戶能一直完整的看到。此外頁面內(nèi)提示能容納更多信息量,與頁面本身風(fēng)格比較契合,沒有阻塞感,適合表單錯誤提示、加載過渡。
表單頁面內(nèi)提示
多態(tài)按鈕
如果按鈕被按下后需要與服務(wù)器交互后才能真正響應(yīng)操作,那么等待難以避免。這種情況下可以給按鈕增加多個狀態(tài),讓用戶知道App已經(jīng)接受到他的操作。典型的例子是支付寶的確認(rèn)付款按鈕,擁有付款前、正在付款和付款成功三個狀態(tài),反饋明顯不需要額外再用Toast進行提示。
支付寶多態(tài)按鈕
動效
優(yōu)雅的動態(tài)效果能給吸引用戶注意力,富含情感給用戶留下深刻印象。事物之間的關(guān)系可以通過動效進行隱喻。例如電商App加入購物車,商品飛入購物車中,有趣流暢。
商品飛入購物車
震動和聲音
除了屏幕內(nèi)反饋,屏幕外的反饋效果更強烈更真實。例如拍照時“咔擦”聲音,還有啟動靜音模式時手機震動。考慮到手機放在包里感知不到震動或者手機音量太小,因此聲音和震動建議作為輔助反饋手段。
Snackbar
Snackbar可以理解為是加強版的Toast。樣式和規(guī)則與Toast非常相似,不同主要有兩點:1.Snackbar支持主動滑動關(guān)閉。2.Snackbar可以附帶一個操作(也可以不帶)。
Snackbar
在最新的Google Material Design里,Snackbar和Toast被放在一起來介紹,而且Snackbar的篇幅要遠多于Toast,后者被打上了Android Only的標(biāo)記,Snackbar能代替很多Toast的使用場景。(?https://material.io/guidelines/components/snackbars-toasts.html?)
可以預(yù)見,隨著設(shè)計師的專業(yè)程度提升還有用戶對體驗品味不斷提高,Toast使用場景會不斷縮小,泛化的定義終將回歸到原點——操作后的輕量級短時反饋提示。
本文由 @龍爪槐守望者 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
寫得好
您好,請問什么是模態(tài)
我之后再寫一篇文章會說明,簡單來說 就是界面中突然出現(xiàn)一個東西,不把這個東西操作掉,就無法點擊原來界面的東西,比如彈窗
簡而言之就是蒙層
啊呀 好像配圖配錯了一張,我要改一下
6666666
有用
good!