在前兩篇文章中為大家介紹過 Snackbars 和 Banners 兩位輕量級提示控件的用法,今天就讓我們來繼續詳解一下 BOSS 級的提示控件 Dialogs 家族。
什麼是Dialog
Dialog 正是我們熟稱的「彈窗」,該控件屬于提示控件中的一種,通常用于強幹擾的信息提示,該提示會打斷用戶的當前操作,用戶必須執行對應操作後才可以對其進行取消。
Dialogs 因為屬于強幹擾,所以在提示時的霸氣程度會遠遠大于 Banner 和 Snackbar,讓我們來看看它的霸氣到底體現在哪裡。
視覺層:
操作層:
綜上所述,三個提示控件的幹擾度從強到弱排序可以視為:Dialog > Banner > Snackbar。Dialog 雖然霸氣非凡,但對用戶過份霸氣終究不是一件好事,畢竟強制中斷用戶行為會引起使用者強烈的反感。
因此我們不得不建議産品經理和設計師,盡量謹慎使用 Dialog 控件,采用相對柔和的控件來承載提示和操作,譬如 Menus、Bottom sheet、Action sheet 或者 Activity view。當然大家不必着急,這些控件稍後我也會進行一一解析。本篇文章還是留給 Dialogs 家族的成員們。
Alert dialogs 警告對話框
在 Google Material Design 和 iOS Human Interface Guidelines 中都對其有規範定義,屬于兩端皆可使用的原生控件。
1. 使用場景
Alert dialog 通常用于緊急不可逆情況的提示,需要用戶确認該信息。
2. 注意事項
3. 樣式類型
左側豎排為 Android 樣式,右側豎排為 iOS 樣式。
僅在高風險情況下使用帶标題欄的 Alert。
4. 顯示與消失
顯示
Alert 顯示時,背景顯示深色遮罩,并會立即中斷用戶正在進行的操作。
消失
Alert 僅支持 2 種關閉方式:
5. 範例
有道雲筆記在删除文檔時,使用 Alert 以警告用戶删除的内容将無法恢複。
Simple dialogs 簡易對話框
特屬于 Google Material Design 中定義的原生 Dialog 控件。
1. 使用場景
Simple dialog 通常用于提供列表項的詳細信息或操作。
2. 注意事項
樣式類型:
3. 顯示與消失
顯示
Simple dialog 顯示時,背景顯示深色遮罩,并會立即中斷用戶正在進行的操作。
消失
Simple dialog 支持 3 種關閉方式:
4. 範例
安卓端的 Keep 利用 Simple dialog 來承載話題舉報的操作,用戶點擊任意一選項後觸發提交。(在iOS端使用的是 Action sheet)
Confirm dialogs 确認對話框
特屬于 Google Material Design 中定義的原生 Dialog 控件。
1. 使用場景
Confirm dialog 通常用于複雜操作前的最終确認,使其有機會在必要時改變主意。
2. 注意事項
3. 樣式類型
支持嵌套 Selection controls。
4. 顯示與消失
顯示
Confirm dialog 顯示時背景顯示深色遮罩,并會立即中斷用戶正在進行的操作。
消失
Confirm dialog 支持 4 種關閉方式:
5. 内容滾動處理
應盡量避免内容滑動,當确實需要滑動時,标題需固定在頂部,按鈕固定在底部,保證滾動的同時仍然可見标題和按鈕。Dialogs 存在時禁止滾動對話框以外的元素,例如背景。
6. 範例
原生安卓系統使用 Confirm dialog 來承載彩鈴設置功能。
Full-screen dialogs 全屏對話框
特屬于 Google Material Design 中定義的原生 Dialog 控件。
1. 使用場景
Full-screen dialog 通常用于對一系列複雜任務的分組。
2. 注意事項
僅在以下場景中使用 Full-screen dialog:
Full-screen dialog 僅限于在移動端使用。
3. 樣式類型
在 Top app bar 上需展示「X」按鈕和确定性按鈕。
4. 顯示與消失
顯示
Full-screen dialog 顯示時填充全屏,使用沉浸式的全屏布局。
消失
Full-screen dialog 支持 3 種關閉方式:
5. 二次确認
點擊「X」按鈕或系統返回鍵時,将丢棄所有更改信息并退出,如果用戶發生了字段更改,需給予 Confirm Dialog 進行二次确認。
6. 範例
Teambition 使用 Full-screen dialog 來承載 Date picker 和 Time picker 的多重時間設置。
提示控件的用法總結
俗話說得好,「好鋼用在刀刃上」,産品經理和設計師應當盡量将 Dialogs 應用于非常重要的使用場景(這裡也包含我們定制的活動彈窗)。所謂物以稀為貴,少量使用可以凸顯出其重要性,過度使用則會使人感到異常反感。
那麼如何更好地選擇控件呢?
我們可以以内容信息的重要程度為判斷基準:
若不重要,請使用 Toast 或 Snackbar;若一般重要,請使用 Banner;若很重要,請盡量先考慮使用 Bottom sheets(Android)、Action sheet(iOS)或 Activity view(iOS)等模态控件。若以上不能滿足需求,再使用 Dialogs
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!