组件规范:反馈与通知(二)

Hang UE designer

模态组件

Dialog/Alert 对话框

一种模态浮窗,会打断用户当前操作,要求用户必须对其传达的信息进行响应后,才能返回主页面

核心用途

1、请求用户确认关键操作
这是对话框的最核心的核心用途,用于防止用户意外执行破坏性或不可逆的操作

2、传达必须被处理的阻塞性信息
如果不处理便无法使用APP或某项功能,常用于征求用户同意隐私协议、请求用户授予相关系统权限,例如:位置、相册、相机、通知等权限

3、承载简单的任务
当一项任务足够简单,只有一个输入框或少量选项时,可使用对话框

4、提供运营、促销活动入口
此场景下弹窗的设计自由度较高,具有突出的视觉效果。但注意需要保留关闭按钮,不可隐藏

image.png

注意事项

1、不要用于非关键的通知或成功反馈;
2、不要承载复杂任务或表单;
3、不要承载超过两个以上的主要操作;
4、内容文案:

  • 标题:清晰、简洁的问题或描述;
  • 正文:非必选,仅在标题不足以说明操作后果时使用;
  • 按钮:
    • 次要操作在左侧,主要操作在右侧;
    • 操作应使用具有动词,如“删除”、“退出”、“发布”,如果是破坏性操作,需要视觉上警示。

交互细节

出现位置:屏幕居中出现,且带有半透明的遮罩;
关闭方式:1.点击按钮关闭;2.点击遮罩层关闭(可选)。

平台差异

iOS:在iOS端称为“Alert”,系统原生组件,可直接调用;
Android:在Android端称为“Dialog”,系统原生组件,可直接调用。

Action Sheet / Bottom Sheet 动作面板

一个从屏幕底部滑出的模态面板,用于展示一组与当前任务相关的操作选项,或者承载一个简短的子任务

核心用途

1、提供一个任务的多种实现方式
当用户触发一个动作后,需要从多个相关选项中选择一个时使用。例如,点击“分享”按钮,弹出“微信”、“QQ”、“复制链接”等相关选项
image.png

2、作为 Dialog 的温和替代方案,用于破坏性操作的二次确认
进行破坏性操作时,使用动作面板比屏幕中央的 Dialog 打断感更弱,且更贴近“拇指热区”
image.png

3、作为 Context Menu 的替代方案,提供一组上下文操作
当你需要为某个项目提供一组操作,但又不希望把这些操作隐藏在“长按”手势里时,可以放置一个“更多”图标,点击后弹出动作面板
image.png

注意事项

1、不要承载复杂的、多步骤的任务。如果任务需要多个页面跳转、复杂的表单填写,应该使用全屏模态视图或直接进入一个新的页面流。动作面板应该保持轻量和简洁;
2、当选项的上下文不那么明显时,建议提供一个明确的标题(如“将此文件分享至”)能提供清晰的指引;
3、选项文案应是动词短语;
4、必须提供一个明确的“取消”按钮,让用户可以轻松退出。

交互细节

出现位置:从屏幕底部平滑地向上滑入,且带有半透明的遮罩;
关闭方式:1. 点击“取消”按钮;2. 点击面板上方的半透明遮罩区域;3. 向下快速滑动面板本身。多种便捷的关闭方式是其体验轻量的关键。

平台差异

iOS:在iOS端称为“Action Sheet”,系统原生组件,可直接调用;
Android:在Android端称为“Bottom Sheet”,系统原生组件,可直接调用。拥有更高的灵活性,支持模态和非模态。

Full-Screen Modal View 全屏模态视图

一种完全覆盖整个屏幕的模态界面,用于承载独立、复杂的子任务

核心用途

1、承载独立的、复杂的任务
当一个任务需要多个步骤、填写多个表单字段或进行复杂操作时,全屏模态是最佳选择。例如,创建会议、发帖、写邮件、编辑照片/视频等

2、引导用户完成线性流程
用于登录、注册或付款这类需要用户高度集中的关键流程,或发送照片/文件这类需要浏览的操作(浏览相册➡️选择照片➡️编辑照片(可选)➡️发送)
image.png

全屏模态视图就像一个临时的“工作台”,帮助用户处理一个独立任务,它本身不是一个组件,而是一个“组件的容器”或一种“设计模式”;它的内部就是一个完整的页面,可以容纳任何复杂布局——导航栏、列表、表单等

注意事项

1、不要用于简单的确认或选择。这类操作可选择Dialog或Action Sheet;
2、不要用作为APP的主导航。模态页承载的应该是临时的、偶尔的任务。如果一个功能是用户每天都要高频访问的,它应该在主导航中展示;
3、必须有清晰的退出机制。

  • 左上角需包含一个明确的“取消”或“X”按钮,右上角需包含一个明确的“完成”或“保存”按钮;
  • 当用户更改了内容,但没有“保存”而是点击了“取消”试图关闭时,需要视情况给予用户二次确认。

交互细节

出现位置:从屏幕底部平滑地向上滑入;
关闭方式:1. 点击“取消”或“完成”按钮;2. 向下滑动页面(非必选,较少见)。

平台差异

iOS:标准的原生视图,可直接调用。在iOS中被称为“Sheet”,通常不会完全占满全屏,顶部会留少量空间。但开发者也可指定其为全屏;
Android:原生视图,可通过Activity或FullScreenDialog模式实现。