最全面Android 導航模式解析
任何在用戶界面模擬載體移動的場景便是導航。
使用應(yīng)用程序?qū)蓚€用戶屏幕連接到一起,便是一種導航。這個連接——無論它是什么——即是用戶用來運送信息的載具。盡管創(chuàng)建一個導航很簡單,但是去創(chuàng)造一個適當?shù)膶Ш讲⒉蝗菀住1疚奈覀儗⒀芯恳恍?Android 上最常用的導航模式,解讀它們是如何影響底層導航,如何正確的使用這些模式讓它來符合用戶的需求。
1 定義導航在看一些常見導航模式之前,先回顧一下關(guān)于軟件導航的重點是有必要的。
導航的設(shè)計規(guī)范材料對于如何定義導航結(jié)構(gòu)有著很好的幫助。但為了這個文章通俗易懂,我們可以將所有內(nèi)容歸納為兩個簡單的點:
建議基于導航的任務(wù)與內(nèi)容;
建立給用戶使用的導航。
基于任務(wù)和內(nèi)容構(gòu)建導航意味著需要分解人們將要執(zhí)行的任務(wù),以及他們將會看到什么,并繪制出兩者之間的關(guān)系。弄清任務(wù)之間的聯(lián)系;優(yōu)先級;嵌套關(guān)系和觸發(fā)頻率。
這便是導航設(shè)計開始的地方。設(shè)計導航應(yīng)該讓用戶體驗,并讓用戶來評價此導航的好壞。因為導航設(shè)計出來是為了方便用戶使用。
一旦明白了軟件中的任務(wù)是如何共同工作的,你應(yīng)當開始考慮如何向用戶展現(xiàn)那些他們希望的看到的內(nèi)容。此鍛煉將為未來選擇導航模式提供基礎(chǔ)經(jīng)驗。
2 標簽定義
標簽可以提供同一父屏中兄弟標簽之間視圖的快速導航。他們是在同一個層面的,這也意味著它們可被刷新,拓展,識別。
標簽非常適合過濾,分割或使相關(guān)內(nèi)容間的深度更明顯。不相關(guān)的內(nèi)容片段或具有其自身深層次的內(nèi)容不適用于此類導航。
標簽樣例
Play Music(左上)使用標簽來增加音樂庫的深度,以不同的方式組織相同的一般內(nèi)容以適應(yīng)不同的探索手段。
Google+(中)使用標簽來分割收藏集,這是一種單一的內(nèi)容類型,可以在應(yīng)用程序的不同導航分類中提供截然不同的內(nèi)容。
Play Newsstand(右上)使用標簽來在選項卡上呈現(xiàn)不同的相同信息集。一個選項卡提供了一個整體,多層次的集合;而另一個則顯示了一組精簡的標題。
歷史記錄
標簽一般在父屏的同一個層面上。因此,標簽之間的導航不應(yīng)該有返回,歷史,上一步按鈕。
3 抽屜導航定義
抽屜導航通常是連接到畫布左邊緣的垂直窗格。繪制者可以定義其顯示在屏幕外屏幕內(nèi);持續(xù)存在的或非持續(xù)存在。但它們總是具有一些共同的特征。
通常情況下,導航欄列表會列出作為對等體或兄弟節(jié)點的父目標。導航欄具有多個主要目標,以及一些獨特的目標,如設(shè)置或幫助。
如果將抽屜與另一個主要導航組件(例如底部導航)組合,則抽屜可以包含輔助目標,或者包含底部導航不能直接訪問的重要目標。
使用導航欄時,請注意需要呈現(xiàn)的內(nèi)容是什么。添加太多選項或代表應(yīng)用層次結(jié)構(gòu)中不同級別的選項可能會令人疑惑。
還要注意可視性。抽屜可以很好地降低可視性或壓縮遠離主要內(nèi)容區(qū)域的導航,但這也可能是一個缺點。它的好壞取決于具體的情況。
抽屜導航樣例
Play Store(左上)使用抽屜來展示不同的商店分類,每一個抽屜都導航到另一個不同的內(nèi)容。
Google Camera(中間)使用抽屜來訪問別的目的地。目的地包含提升用戶拍照體驗以及設(shè)置。
Inbox(右上)的抽屜很長。最上方式其主要訪問目的地,下方則是一些實用工具和拓展包。
因為抽屜導航可能會很長,因此設(shè)置,幫助與反饋按鈕一般方向某一個固定的位置以方便用戶訪問。
訪問記錄
當應(yīng)用程序具有不同的首頁地址是,導航抽屜應(yīng)當為系統(tǒng)的返回按鈕創(chuàng)建歷史記錄。在 Play Store 中,家庭目的地是 Apps & Games,然而實際的查看內(nèi)容是根據(jù)用戶使用歷史來決定的。
Google Camera 選擇在用戶按返回鍵時返回主界面。在這種模式下可以減少誤操作。
谷歌地圖也使用了同樣的方法。抽屜中的所有目的地都指向某一個分層,所有返回鍵可以永遠返回主頁。
你可能注意到,Play Store 并沒有改變?nèi)魏蔚纳隙藢Ш匠閷稀_@是因為它們是同一個分級。用戶在不點擊導航的情況下是無法進入下一層的,因為都是在屏幕最上層,只不過是平行的而已。
4 按鈕導航定義
在 Android 中,底部導航通常由3或5個主要目的地按鈕組成。值得注意的是,更多按鈕并不是一個導航,也不是菜單或者對話。
當應(yīng)用程序的數(shù)量并有有限數(shù)量不同的頂級目標(底部導航不應(yīng)滾動)需要立即訪問時,底部導航最有效。 “底欄”的主要優(yōu)點之一是可以立即從子屏幕跳轉(zhuǎn)到不相關(guān)的父屏幕,而無需首先導航到當前的父級。
不得不注意的是,盡管底部欄中的目標位置應(yīng)該在應(yīng)用程序的導航層次結(jié)構(gòu)中都是相等的,但底部欄中的項目不是共面的,他們不應(yīng)該這樣顯示。
底部欄切換建立了不相干目的地之間的聯(lián)系。每個目的地都是同等父輩關(guān)系,而不是兄弟姐妹。如果程序中的目的地與此類詞,則他們可能更適合使用選項卡來處理。
底部導航案例
底層導航有一些有趣的考慮,超出其基本定義。可能最復(fù)雜的是底層導航是否應(yīng)該持續(xù)存在的問題。與許多設(shè)計決策一樣,答案是“看情況”。
在有些程序里,導航欄是被隱藏的,但是也有底層導航持續(xù)存在的情況。這取決于軟件的層次結(jié)構(gòu)。如果層次結(jié)構(gòu)很淺,或者應(yīng)用程序想使用戶體驗更深刻,則可能隱藏底部導航欄。
額外的考慮
如果底部導航欄在整個應(yīng)用程序中持續(xù)存在,則下一個需要考慮的邏輯問題是使用該欄在目的地之間跳轉(zhuǎn)時的行為。如果用戶是從一個目的的層次結(jié)構(gòu)中的更深層次,切換到另一個目的地,然后切換回第一個目標,則應(yīng)該看到什么?父屏幕,還是他們離開的子屏幕?
這個決定應(yīng)該由使用你的應(yīng)用程序的人決定。一般來說,點擊底部欄中的項目應(yīng)該直接轉(zhuǎn)到關(guān)聯(lián)的屏幕,而不是更深層次的層次結(jié)構(gòu),但是與其他方案一樣,這并不準確。
歷史記錄
按鈕導航不應(yīng)該創(chuàng)建任何的歷史記錄。用戶按下一個按鈕,應(yīng)當直接將用戶導航至相關(guān)的目的地,或者返回上級,又或者刷新整個頁面。
5 上下文導航定義
上下文導航由上述組件之外的任何導航交互組成。這類組件包括諸如按鈕,標題,卡片以及使用戶在應(yīng)用程序其他位置的任何其他內(nèi)容。
上下文導航通常比上述導航更不線性。用戶的交互傳可以傳輸?shù)讲煌膶哟谓Y(jié)構(gòu),不同步驟之間的離散層次結(jié)構(gòu),或者完全脫離應(yīng)用程序。
上下文導航案例
在左上的時鐘軟件中,可以通過上下文導航訪問世界時鐘;在 Google 中,選項卡是可以被點擊的;在 Google Calendar 中,可以創(chuàng)建一個事件。
點擊時鐘軟件中的按鈕后,會將用戶帶到一個世界時鐘選項界面;點擊谷歌選項卡后,會給用戶展示更加詳細的天氣信息;點擊創(chuàng)建事件后,會向用戶展示事件細節(jié)。
歷史記錄
對于上下文導航,并沒有規(guī)定能否使用歷史記錄。是否創(chuàng)建歷史完全取決于上下文導航的位置以及應(yīng)用程序是如何使用上下文導航的。如果不知道應(yīng)當創(chuàng)建什么樣的歷史記錄,了解上下按鈕的作用會有所幫助。
6 向上,返回和關(guān)閉按鈕返回,向上與關(guān)閉按鈕在安卓用戶界面中起到了很重要的作用,然而經(jīng)常被誤解。從用戶體驗來說,這三個按鈕的作用是很簡單的。
向上鍵:當用戶想返回上級菜單時,出現(xiàn)在軟件的工具欄中。它是根據(jù)時間順序進行導航的層次結(jié)構(gòu)。當用戶持續(xù)點按時,它將根據(jù)時間順序持續(xù)返回知道到達父屏幕。由于父屏幕無法再往上,所有它不應(yīng)該出現(xiàn)在父屏幕。
返回鍵:始終存在于系統(tǒng)導航欄中。即使以前的時間順序屏幕在另一個應(yīng)用程序中,它將按時間順序向后導航,而不考慮應(yīng)用程序?qū)哟谓Y(jié)構(gòu)。它還會關(guān)閉臨時元素,如對話框,底部工作表和覆蓋的內(nèi)容。
關(guān)閉鍵:通常用于關(guān)閉界面的瞬態(tài)層或放棄對全屏對話框的更改。在Google Calendar中的(如下所示),較大的屏幕上,將關(guān)閉鍵放在左上角可以使整個界面更加清晰。在收件箱(以下)中,從收件箱到郵件的轉(zhuǎn)換表明郵件是收件箱頂部的一層,因此用戶可以理解要關(guān)閉的是哪一層。 Gmail(以下)將郵件定位為一個獨立的級別,所以使用向上按鈕。
在本文的引言中,我們看到了成功使用各種顯式導航組件的應(yīng)用示例。這些許多示例成功地將導航模式組合以形成對用戶更有意義的結(jié)構(gòu)。
可能最明顯的案例是Google+,它基本融合了所有文中敘述過的導航模式——標簽導航,抽屜導航,底部導航,上下文導航。
將其拆開來看,底部的導航是G +。它可以訪問四個頂級目的地。標簽通過將其內(nèi)容分為明確的類別來增加其中的目的地。導航欄包含其余的主要和次要目的地,可能訪問頻率較低。
Play Store主要使用抽屜導航,頻繁使用上下文導航,偶爾使用標簽。
Google Calendar使用了抽屜導航與上下文導航。使用的方式都很巧妙。日歷中的抽離導航?jīng)]有標準,基本是用于拓展日歷。日歷本身由一個可拓展的工具欄所控制,并有不同的顏色進行分類。
8 總結(jié)導航這個話題本身就很復(fù)雜。希望此文章可以給想了解 Android 導航的人提供一個良好的基礎(chǔ)。
來自:http://www.uml.org.cn/mobiledev/201707213.asp
相關(guān)文章:
1. ASP刪除img標簽的style屬性只保留src的正則函數(shù)2. asp(vbscript)中自定義函數(shù)的默認參數(shù)實現(xiàn)代碼3. 如何使用瀏覽器擴展篡改網(wǎng)頁中的JS 文件4. JSP servlet實現(xiàn)文件上傳下載和刪除5. jsp中sitemesh修改tagRule技術(shù)分享6. Ajax實現(xiàn)表格中信息不刷新頁面進行更新數(shù)據(jù)7. 爬取今日頭條Ajax請求8. JavaWeb Servlet中url-pattern的使用9. ASP基礎(chǔ)知識VBScript基本元素講解10. jsp EL表達式詳解
