Toast概念的由來:除了Android規(guī)范,Windows的規(guī)范中也有Toast坡脐,但定義不一樣泄私。Toast在Android中的定義就是大家所熟悉的黑色半透明提示,而在Windows的規(guī)范中Toast概念幾乎等同于Android的一條Notification(通知)备闲。Windows和Android的Toast有著千絲萬縷的聯(lián)系晌端,據說一位微軟前員工在開發(fā)MSN Messenger時,覺得MSN彈出通知方式很像烤面包(Toast)烤熟時從烤面包機(Toaster)里彈出來一樣恬砂,因此把這種提示方式命名為Toast咧纠,后來這位微軟前員工帶著這一習慣命名跳槽去了Google。
iOS里的HUD:仔細閱讀iOS設計指南就會發(fā)現(xiàn)并沒有Toast這個控件觉既,但iOS中確實有類似于Toast樣式出現(xiàn)惧盹,例如iOS的音量調節(jié)提示。 iOS 把這個組件叫做 UIProgressHUD(HUD意思很可能是heads up display)瞪讼,可惜這個組件是系統(tǒng)私有的,第三方App無法直接獲取使用粹断,因此出現(xiàn)了各種模仿它的第三方控件符欠,例如MBProgressHUD、 SVProgressHUD還有JGProgressHUD瓶埋,從此以后HUD就成了iOS開發(fā)者里達成共識的半官方概念希柿。
被泛化的Toast:你要是執(zhí)著的把HUD念做Toast诊沪,大家也能理解,因為如今Toast的概念已經泛化曾撤,早已打破了Android的規(guī)范端姚。
在Android正統(tǒng)的規(guī)范中Toast:①出現(xiàn)在屏幕底部。②只能放文字不能帶圖標挤悉,文字要精簡不宜太長渐裸。③是模態(tài)的,可以透過Toast對其他控件進行操作装悲。④短時間后會自動消失昏鹃。⑤不能對Toast進行交互,不能手動操作讓Toast主動消失诀诊。
在市面上很容易找到打破這個規(guī)則的Toast樣式洞渤,例如加載:出現(xiàn)在屏幕中間、帶圖標属瓣,是模態(tài)的载迄,如果網速很慢,Toast可能會持續(xù)很長時間抡蛙,可以通過操作讓其主動消失宪巨。
泛化使得Toast原本的定義變得模糊,拓展了很多新的使用場景溜畅∧笞浚控件定義和用途的變化也在隨著時間演化,演化出符合業(yè)務和用戶習慣的新形式反過來又會促成新的控件定義和規(guī)范慈格,目前在移動平臺里怠晴,似乎所有半透明矩形提示和反饋都可以被稱作Toast。連iOS官方的Apple Store App都開始使用類似Toast的控件浴捆。
頂部Toast:除了Toast概念的泛化蒜田,最近不少iOS App在嘗試將Toast的位置由屏幕底部和中間改到頂部,這樣做有幾個好處:1.出現(xiàn)位置穩(wěn)定选泻。不會因為軟鍵盤出現(xiàn)導致原本在屏幕底部或中間的Toast被遮蓋或浮動到其他位置冲粤。2.更容易引起用戶注意。iOS持續(xù)錄音页眯、GPS被使用梯捕、正在通話狀態(tài)、還有活動指示器和系統(tǒng)push通知都出現(xiàn)在屏幕頂部窝撵,iOS用戶更習慣于在頂部感知反饋信息傀顾。3.不干擾用戶瀏覽主體內容。Toast出現(xiàn)在屏幕頂部不會遮擋主體內容碌奉。
Toast的未來:Toast有很多優(yōu)點:1.占用屏幕空間小短曾。2.不會打斷用戶操作寒砖。3.使用簡單適用范圍廣,人人都是會用Toast的產品經理嫉拐。但Toast也有不少缺點:1.出現(xiàn)時間短哩都,在碎片化時代注意力不集中容易錯過Toast提示。2.雖然非模態(tài)婉徘,但是黑乎乎的樣式上給人一種模態(tài)的錯覺漠嵌,會打斷心流。3.遮蓋其他控件判哥,但不能對Toast進行交互献雅。
更為嚴重的是Toast被濫用的情況比較嚴重,當一個App在加載塌计、表單提示挺身、狀態(tài)變更反饋、斷網消息等使用Toast锌仅,不斷出現(xiàn)的黑乎乎矩形會對整個體驗帶來非常大的阻塞感章钾,有時候甚至會同時出現(xiàn)兩個Toast或者持續(xù)彈出同一個Toast等令人啼笑皆非的情況。
代替Toast的其他形式:濫用Toast是懶惰的做法热芹,設計師完全有其他形式代替Toast贱傀,達到更優(yōu)雅的用戶體驗。
頁面內提示:這種提示可以常駐在頁面里伊脓,即使用戶短時間內注意力轉移府寒,提示也不會消失,確保用戶能一直完整的看到报腔。此外頁面內提示能容納更多信息量株搔,與頁面本身風格比較契合,沒有阻塞感纯蛾,適合表單錯誤提示纤房、加載過渡。
多態(tài)按鈕:如果按鈕被按下后需要與服務器交互后才能真正響應操作翻诉,那么等待難以避免炮姨。這種情況下可以給按鈕增加多個狀態(tài),讓用戶知道App已經接受到他的操作碰煌。典型的例子是支付寶的確認付款按鈕舒岸,擁有付款前、正在付款和付款成功三個狀態(tài)拄查,反饋明顯不需要額外再用Toast進行提示吁津。
動效:優(yōu)雅的動態(tài)效果能給吸引用戶注意力,富含情感給用戶留下深刻印象堕扶。事物之間的關系可以通過動效進行隱喻碍脏。例如電商App加入購物車,商品飛入購物車中稍算,有趣流暢典尾。
震動和聲音:除了屏幕內反饋,屏幕外的反饋效果更強烈更真實糊探。例如拍照時“咔擦”聲音钾埂,還有啟動靜音模式時手機震動】破剑考慮到手機放在包里感知不到震動或者手機音量太小褥紫,因此聲音和震動建議作為輔助反饋手段。
Snackbar:Snackbar可以理解為是加強版的Toast瞪慧。樣式和規(guī)則與Toast非常相似髓考,不同主要有兩點:1.Snackbar支持主動滑動關閉。2.Snackbar可以附帶一個操作(也可以不帶)弃酌。