iOS和Android規(guī)范解析——簡(jiǎn)易菜單、簡(jiǎn)易對(duì)話框和彈出框
今天的這幾個(gè)控件的中文名字,在網(wǎng)上查了半天,沒有找到統(tǒng)一的叫法,所以自己翻譯了一下:簡(jiǎn)易菜單對(duì)應(yīng)的是MD(Material Design,下同)中的Simple Menu;簡(jiǎn)易對(duì)話框,對(duì)應(yīng)的是MD中的Simple Dialog,彈出框?qū)?yīng)的是iOS中的Popover。
按照慣例,我們還是從MD的控件開始說起。
Google Material Design Guideline
首先,什么是簡(jiǎn)易菜單呢?先放一個(gè)例子出來嚇唬嚇唬人:
簡(jiǎn)易菜單(Simple Menu)
好像例子沒有任何可怕的點(diǎn)。就是想說個(gè)冷笑話,你管我。分析上面的例子,簡(jiǎn)易菜單,就是在用戶當(dāng)前操作的位置出現(xiàn)的選項(xiàng)集合。它有以下幾個(gè)規(guī)則:
- 消失規(guī)則:當(dāng)用戶選擇了某個(gè)選項(xiàng),簡(jiǎn)易菜單立刻消失;當(dāng)用戶點(diǎn)擊簡(jiǎn)易菜單之外的區(qū)域,或者點(diǎn)擊安卓系統(tǒng)的返回按鈕,則簡(jiǎn)易菜單消失。
- 展現(xiàn)規(guī)則:簡(jiǎn)易菜單應(yīng)該出現(xiàn)在入口的正上方,也就是覆蓋住入口。
這一條在國(guó)內(nèi)的安卓系統(tǒng)中經(jīng)常被錯(cuò)用,比如下面這種情況:
點(diǎn)擊右上角的三個(gè)點(diǎn),則菜單覆蓋在三個(gè)點(diǎn)的正上方
國(guó)內(nèi)很多安卓版本的應(yīng)用,點(diǎn)擊三個(gè)點(diǎn)之后,菜單是出現(xiàn)在三個(gè)點(diǎn)的下方。如果僅僅是從MD規(guī)范的角度來說,這是不太規(guī)范的做法。
選項(xiàng)中的第三個(gè),是當(dāng)前已選擇選項(xiàng)。點(diǎn)擊入口后,第三個(gè)選項(xiàng)位于入口的正上方。
另外,簡(jiǎn)易菜單還有一個(gè)展現(xiàn)原則,要把當(dāng)前已經(jīng)選擇的選項(xiàng)展現(xiàn)在入口的正上方,就像下面這樣:
下面是一個(gè)反例:
在上圖中,當(dāng)前已選擇的是第二個(gè)選項(xiàng)。但是點(diǎn)擊入口打開簡(jiǎn)易菜單,是第一個(gè)選項(xiàng)出現(xiàn)在入口的正上方,所以是錯(cuò)誤的。
但是,也有例外,如果菜單的入口剛好位于頁面的邊緣位置,導(dǎo)致當(dāng)前頁面展現(xiàn)不下簡(jiǎn)易菜單了,則不必遵循“當(dāng)前已選選項(xiàng)必須在入口正上方”這個(gè)原則,比如下面這個(gè)例子:
點(diǎn)擊Voice search,在當(dāng)前位置無法展現(xiàn)完整的簡(jiǎn)易菜單,因此當(dāng)前已選選項(xiàng)“English”沒有覆蓋在入口(Voice search)的正上方
以上就是簡(jiǎn)易菜單的用法。
簡(jiǎn)易對(duì)話框和簡(jiǎn)易菜單是很相似的,因?yàn)樗鼈兊墓δ芏际且粯拥模禾峁┮幌盗羞x項(xiàng)。
所不同的是,簡(jiǎn)易對(duì)話框除了可以提供選項(xiàng)之外,還可以提供一些相關(guān)的操作。另外,在簡(jiǎn)易對(duì)話框中,可以展現(xiàn)頭像、圖標(biāo)(icon)、一條選項(xiàng)中的說明性文字、其它操作(比如上圖中的“添加聯(lián)系人”按鈕)。簡(jiǎn)易對(duì)話框的呼出方式,可以是點(diǎn)擊或者長(zhǎng)按,而簡(jiǎn)易菜單一般是點(diǎn)擊。
由于簡(jiǎn)易對(duì)話框出現(xiàn)在屏幕的中央,比簡(jiǎn)易菜單更加打擾用戶。所以MD規(guī)范簡(jiǎn)易,盡量使用簡(jiǎn)易菜單而不是簡(jiǎn)易對(duì)話框。
iOS Human Interface Design Guideline
彈出框(Popovers)最開始是只建議用在iPad上的一種控件,最近由于手機(jī)屏幕越來越大,也由于安卓和iOS兩種規(guī)范的混用,也越來越多地出現(xiàn)在iOS應(yīng)用里,比如下面這個(gè)例子:
可以看到,iOS的彈出框和Android的菜單比較相似,但iOS的彈出框是出現(xiàn)在入口的下面的,且要有箭頭,指示入口的位置。
關(guān)于彈出框,需要注意以下幾點(diǎn):
- 一次只能出現(xiàn)一個(gè)彈出框。如果一個(gè)操作激發(fā)了另一個(gè)彈出框,則進(jìn)行該操作的時(shí)候,立即關(guān)閉當(dāng)前彈出框,然后再出現(xiàn)新的彈出框。
- 彈出框上面不能覆蓋別的控件,警告框除外。
- 一般來說,在彈出框上進(jìn)行了操作,則彈出框關(guān)閉。如果需要增加“放棄操作”或者“確認(rèn)操作”的功能,則可增加“取消”、“完成”這樣的按鈕。如果在彈出框里可以進(jìn)行多項(xiàng)選擇的操作,則需用戶點(diǎn)擊了“取消”、“完成”或者點(diǎn)擊彈出框以外的區(qū)域關(guān)閉彈出框。
以上對(duì)比了MD中的簡(jiǎn)易菜單和簡(jiǎn)易對(duì)話框,他們的功能相似,只是簡(jiǎn)易對(duì)話框中還可以加入頭像、圖標(biāo)(icon)、關(guān)于選項(xiàng)的說明性文字以及其它操作,所以功能性更強(qiáng)。但簡(jiǎn)易對(duì)話框出現(xiàn)的形式,導(dǎo)致了它對(duì)用戶的打擾更大,因此MD簡(jiǎn)易盡量使用簡(jiǎn)易菜單,除非有使用簡(jiǎn)易對(duì)話框的必要再使用它。
另外,在iOS中,彈出框是與上面兩個(gè)控件較為相似的控件。有個(gè)細(xì)節(jié)需要注意:MD中的簡(jiǎn)易菜單,形式上是一個(gè)矩形,沒有箭頭指示入口位置;iOS的彈出框,規(guī)范里強(qiáng)調(diào)要有箭頭指示入口位置。這個(gè)區(qū)別需要提醒一下。
最后順提一句,討論能讓我們的認(rèn)識(shí)更深刻,也更全面。歡迎大家留言討論。
相關(guān)閱讀
iOS和Android規(guī)范解析——提示框(Toast)對(duì)比
iOS和Android規(guī)范解析——警告框(Alerts)對(duì)比
#專欄作家#
沐風(fēng),微信公眾號(hào):“沐風(fēng)與體驗(yàn)設(shè)計(jì)”。人人都是產(chǎn)品經(jīng)理專欄作家,2017年度作家評(píng)選最佳人氣獎(jiǎng)。愛奇藝Phone和PC端交互團(tuán)隊(duì)負(fù)責(zé)人。留德海龜,曾任職騰訊微生活、網(wǎng)易、宜信。6年交互設(shè)計(jì)經(jīng)驗(yàn),專注設(shè)計(jì)領(lǐng)域,歡迎關(guān)注。
本文原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理。未經(jīng)許可,禁止轉(zhuǎn)載。
題圖來自 Unsplash,基于CC0協(xié)議。
- 目前還沒評(píng)論,等你發(fā)揮!