重新復習 Toast 和 Snackbar

移動端設計中有三個名字經常被提到:Dialog、Toast 和 Snackbar,大部分同學從 Google 設計規范中第一次瞭解它們。

原本無論作為系統規范還是應用組件它們都已足夠成熟,我也自以為對它們有足夠的瞭解。但最近工作、交流中發現對這三者尤其 Snackbar 的瞭解非常淺,所以花瞭一點時間重新學習瞭一下。

//我並非專業工程師,更多僅從設計師角度來闡述自己的心得。

作為應用中承擔“操作反饋”和“信息傳遞”的組件,Dialog、Toast 和 Snackbar 三者很相似但又各有不同。尤其從 Snackbar 被提出之後,網絡上有很多文章討論它們三者的應用場景和使用方法。

Toast 翻譯過來叫“吐司”,非常形象的一小片;Snackbar 則是“快餐店”,聽起來就比吐司要牛逼一點......

眾所周知,iOS 規范中是沒有 Toast/Snackbar 這兩個名字的,但由於設計“跟隨操作且超輕量”的反饋交互比較困難,所以直接將文字、icon 在操作後甩到用戶臉上成為瞭一種簡單、有效的做法。

理想的反饋是發生在操作空間自身,如 Twitter 的 Favorite 按鈕,觸發與否都用動畫來表達。第一做到瞭操作與反饋一體,第二避免瞭 按鈕被反復點擊觸發多個 Toasts 所引起的壞體驗。

最初我想當然的以為,那些出現在屏幕正中間、黑色半透明底色,顯示文字或圖案的東西叫做 Toast;而那些自帶操作項,可以滑動或點擊刪除消息的東西則是 Snackbar。但實際上,通過位置、顏色、是否帶操作和如何消失都無法準確定義它們。

首先,來復習一下 Material Design 的官方說明。(值得註意的是,現在 Snackbar 和 Toast 在同一個文檔中,但誰能告訴我為什麼這兩個單詞要用復數?)

簡單翻譯一下:

1、Snackbar 包含一條簡單的、與操作行為相關的文字消息,它也可以包含一個文字操作項目,但不能包含 icon。

2、同一時間隻能出現一個 Snackbar,每個 Snackbar 可以包含。

3、Snackbar 從屏幕底部向上移動出現。

簡單翻譯一下:

Toast(Android only?顯然已經不是瞭...)主要用於傳遞系統消息,展示於屏幕底部並且不能滑動消除。

可以看到,官方設計規范對 Toast 的描述已經很少瞭,似乎更傾向於讓大傢使用 Snackbar,而且它們的定義也非常含糊,顯然大多數 App 都不是這麼設計的......

從代碼層面我們可以看到關於它們更多的特性 [1]。

Toast.makeText(context, "things happened", Toast.LENGTH_SHORT).show();

Snackbar.make(view, "data deleted",Snackbar.LENGTH_LONG)
.setAction("Undo", new View.OnClickListener(){ @Override
public void onClick(View v) {
}
})
.show();

发表回复

相关推荐

粤语学习APP大全

一直对粤语学习感兴趣,但是听不懂也不会说,终于决定开始学习了,看电视和视频都感觉兴趣不大,重点是自己不开口,跟哑巴英 ...

· 40秒前

万宝龙146 14c/14k/T舌/现产 F尖找不同

这次文章的内容主要是对比一下几支不同年代146,看看他们之间有什么不同,年代从远到近分别是14C、14k、T舌、现产(P146), ...

· 1分钟前

史上最全股票和基金工具网站推荐:找资讯、逛论坛,看财报、查数据……

工欲善其事,必先利其器。 周末趁著闲暇,给大家整理了一份股票、基投资找工具网站。 看行情、找资讯、逛论坛,看财报、看研 ...

· 4分钟前

动漫烟花怎么画?教你二次元简易烟花的画法教程!

动漫烟花怎么画?如何学习绘画?想必这些都是绘画初学者们经常在想的问题吧,就是不知道如何才能学习好绘画,然后绘画出自己 ...

· 6分钟前

「性商提升私教课」–给你的两性私密关系保驾护航

性商,是一种能力,包括一个人在两性关系中的所有能力。总的来说可以分为三个方面:生理,心理,社会。

· 6分钟前

Copyright 2015-2025 www.icpchaxun.com ©All Rights Reserved.