android弹出对话框中多个按钮(android弹出对话框中多个按钮了解)
2022-01-12 18:18:43

今天的这几个控件的中文名字,在网上查了半天,没有找到统一的叫法,所以自己翻译了一下:简易菜单对应的是MD(Material Design,下同)中的Simple Menu;简易对话框,对应的是MD中的Simple Dialog,弹出框对应的是iOS中的Popover。

iOS和Android规范解析——简易菜单、简易对话框和弹出框

按照惯例,我们还是从MD的控件开始说起。

Google Material Design Guideline

首先,什么是简易菜单呢?先放一个例子出来吓唬吓唬人:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

简易菜单(Simple Menu)

iOS和Android规范解析——简易菜单、简易对话框和弹出框 iOS和Android规范解析——简易菜单、简易对话框和弹出框

好像例子没有任何可怕的点。就是想说个冷笑话,你管我。分析上面的例子,简易菜单,就是在用户当前操作的位置出现的选项集合。它有以下几个规则:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

这一条在国内的安卓系统中经常被错用,比如下面这种情况:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

点击右上角的三个点,则菜单覆盖在三个点的正上方

国内很多安卓版本的应用,点击三个点之后,菜单是出现在三个点的下方。如果仅仅是从MD规范的角度来说,这是不太规范的做法。

iOS和Android规范解析——简易菜单、简易对话框和弹出框

选项中的第三个,是当前已选择选项。点击入口后,第三个选项位于入口的正上方。

另外,简易菜单还有一个展现原则,要把当前已经选择的选项展现在入口的正上方,就像下面这样:

下面是一个反例:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

在上图中,当前已选择的是第二个选项。但是点击入口打开简易菜单,是第一个选项出现在入口的正上方,所以是错误的。

但是,也有例外,如果菜单的入口刚好位于页面的边缘位置,导致当前页面展现不下简易菜单了,则不必遵循“当前已选选项必须在入口正上方”这个原则,比如下面这个例子:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

点击Voice search,在当前位置无法展现完整的简易菜单,因此当前已选选项“English”没有覆盖在入口(Voice search)的正上方

以上就是简易菜单的用法。

简易对话框和简易菜单是很相似的,因为它们的功能都是一样的:提供一系列选项。

iOS和Android规范解析——简易菜单、简易对话框和弹出框

所不同的是,简易对话框除了可以提供选项之外,还可以提供一些相关的操作。另外,在简易对话框中,可以展现头像、图标(icon)、一条选项中的说明性文字、其它操作(比如上图中的“添加联系人”按钮)。简易对话框的呼出方式,可以是点击或者长按,而简易菜单一般是点击。

由于简易对话框出现在屏幕的中央,比简易菜单更加打扰用户。所以MD规范简易,尽量使用简易菜单而不是简易对话框。

iOS Human Interface Design Guideline

弹出框(Popovers)最开始是只建议用在iPad上的一种控件,最近由于手机屏幕越来越大,也由于安卓和iOS两种规范的混用,也越来越多地出现在iOS应用里,比如下面这个例子:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

可以看到,iOS的弹出框和Android的菜单比较相似,但iOS的弹出框是出现在入口的下面的,且要有箭头,指示入口的位置。

关于弹出框,需要注意以下几点:

  1. 一次只能出现一个弹出框。如果一个操作激发了另一个弹出框,则进行该操作的时候,立即关闭当前弹出框,然后再出现新的弹出框。
  2. 弹出框上面不能覆盖别的控件,警告框除外。
  3. 一般来说,在弹出框上进行了操作,则弹出框关闭。如果需要增加“放弃操作”或者“确认操作”的功能,则可增加“取消”、“完成”这样的按钮。如果在弹出框里可以进行多项选择的操作,则需用户点击了“取消”、“完成”或者点击弹出框以外的区域关闭弹出框。

以上对比了MD中的简易菜单和简易对话框,他们的功能相似,只是简易对话框中还可以加入头像、图标(icon)、关于选项的说明性文字以及其它操作,所以功能性更强。但简易对话框出现的形式,导致了它对用户的打扰更大,因此MD简易尽量使用简易菜单,除非有使用简易对话框的必要再使用它。

另外,在iOS中,弹出框是与上面两个控件较为相似的控件。有个细节需要注意:MD中的简易菜单,形式上是一个矩形,没有箭头指示入口位置;iOS的弹出框,规范里强调要有箭头指示入口位置。这个区别需要提醒一下。

最后顺提一句,讨论能让我们的认识更深刻,也更全面。欢迎大家留言讨论。

今天的这几个控件的中文名字,在网上查了半天,没有找到统一的叫法,所以自己翻译了一下:简易菜单对应的是MD(Material Design,下同)中的Simple Menu;简易对话框,对应的是MD中的Simple Dialog,弹出框对应的是iOS中的Popover。

iOS和Android规范解析——简易菜单、简易对话框和弹出框

按照惯例,我们还是从MD的控件开始说起。

Google Material Design Guideline

首先,什么是简易菜单呢?先放一个例子出来吓唬吓唬人:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

简易菜单(Simple Menu)

iOS和Android规范解析——简易菜单、简易对话框和弹出框 iOS和Android规范解析——简易菜单、简易对话框和弹出框

好像例子没有任何可怕的点。就是想说个冷笑话,你管我。分析上面的例子,简易菜单,就是在用户当前操作的位置出现的选项集合。它有以下几个规则:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

这一条在国内的安卓系统中经常被错用,比如下面这种情况:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

点击右上角的三个点,则菜单覆盖在三个点的正上方

国内很多安卓版本的应用,点击三个点之后,菜单是出现在三个点的下方。如果仅仅是从MD规范的角度来说,这是不太规范的做法。

iOS和Android规范解析——简易菜单、简易对话框和弹出框

选项中的第三个,是当前已选择选项。点击入口后,第三个选项位于入口的正上方。

另外,简易菜单还有一个展现原则,要把当前已经选择的选项展现在入口的正上方,就像下面这样:

下面是一个反例:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

在上图中,当前已选择的是第二个选项。但是点击入口打开简易菜单,是第一个选项出现在入口的正上方,所以是错误的。

但是,也有例外,如果菜单的入口刚好位于页面的边缘位置,导致当前页面展现不下简易菜单了,则不必遵循“当前已选选项必须在入口正上方”这个原则,比如下面这个例子:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

点击Voice search,在当前位置无法展现完整的简易菜单,因此当前已选选项“English”没有覆盖在入口(Voice search)的正上方

以上就是简易菜单的用法。

简易对话框和简易菜单是很相似的,因为它们的功能都是一样的:提供一系列选项。

iOS和Android规范解析——简易菜单、简易对话框和弹出框

所不同的是,简易对话框除了可以提供选项之外,还可以提供一些相关的操作。另外,在简易对话框中,可以展现头像、图标(icon)、一条选项中的说明性文字、其它操作(比如上图中的“添加联系人”按钮)。简易对话框的呼出方式,可以是点击或者长按,而简易菜单一般是点击。

由于简易对话框出现在屏幕的中央,比简易菜单更加打扰用户。所以MD规范简易,尽量使用简易菜单而不是简易对话框。

iOS Human Interface Design Guideline

弹出框(Popovers)最开始是只建议用在iPad上的一种控件,最近由于手机屏幕越来越大,也由于安卓和iOS两种规范的混用,也越来越多地出现在iOS应用里,比如下面这个例子:

iOS和Android规范解析——简易菜单、简易对话框和弹出框

可以看到,iOS的弹出框和Android的菜单比较相似,但iOS的弹出框是出现在入口的下面的,且要有箭头,指示入口的位置。

关于弹出框,需要注意以下几点:

  1. 一次只能出现一个弹出框。如果一个操作激发了另一个弹出框,则进行该操作的时候,立即关闭当前弹出框,然后再出现新的弹出框。
  2. 弹出框上面不能覆盖别的控件,警告框除外。
  3. 一般来说,在弹出框上进行了操作,则弹出框关闭。如果需要增加“放弃操作”或者“确认操作”的功能,则可增加“取消”、“完成”这样的按钮。如果在弹出框里可以进行多项选择的操作,则需用户点击了“取消”、“完成”或者点击弹出框以外的区域关闭弹出框。

以上对比了MD中的简易菜单和简易对话框,他们的功能相似,只是简易对话框中还可以加入头像、图标(icon)、关于选项的说明性文字以及其它操作,所以功能性更强。但简易对话框出现的形式,导致了它对用户的打扰更大,因此MD简易尽量使用简易菜单,除非有使用简易对话框的必要再使用它。

另外,在iOS中,弹出框是与上面两个控件较为相似的控件。有个细节需要注意:MD中的简易菜单,形式上是一个矩形,没有箭头指示入口位置;iOS的弹出框,规范里强调要有箭头指示入口位置。这个区别需要提醒一下。

最后顺提一句,讨论能让我们的认识更深刻,也更全面。欢迎大家留言讨论。

未解决
您可能还需要
天天领红包,单单有红包
android手机开发工具(开发app需要的技术)
android开发环境配置要求(配置安卓开发环境步骤)
How to operate when the employees resigned_
钉钉账号认证需要钱吗?
直播没有签到会有自己观看的时间吗
办公电话欠费了为什么?
50多岁的人,想做一点小生意,每年纯利润10万以上项目有哪些
2020年华为的平板哪款好(2020性价比高且好用的华为平板)
罗技售后热线是什么
班级圈如何点赞?
app初期怎么推广有效,推广app的方法及经验分享
app初期上线该怎么做,谷歌应用商店刷排名方法
app创业要考虑的因素有哪些,最热创业app平台推荐
app创业步骤有哪些,最热创业app软件推荐
app内容运营是做什么的,内容运营岗位职责
app内容营销模式有哪些,做好营销推广的9大手段
app关键词排名怎么优化(分享app关键词优化方)
app关键词排名怎么优化(4种优化方法及注意事项)
app做广告怎么收费(app打广告的收费及3大流程)
app优化的内容及策略(最值推荐的5大策略)
app优化方案,快速提高app应用市场排名的五个方法
app付费推广渠道有哪些(常用的7种推广渠道)
app付费推广有哪些形式,五种app付费推广方法
app产品运营模式有哪些(附淘客app的4种运营模式)
app产品运营模式有哪些(浅谈这5大运营模式)
app产品设计的思路和方法(全面了解app产品设计)
app产品设计包括哪些方面(app产品设计最核心的5大方面)
app产品经理需要的技能(必须掌握的5项技能)
app产品经理做什么(必须具备的13个基本职责)
app产品经理主要做什么(最主要的6大工作职责)
正在加载...