文章目錄
- 向上與返回
- 應用程式中使用導航
- 應用程式通過主畫面小組件和通知導航
- 應用程式之間導航
導航
一致的導航是一個整體的使用者體驗的必不可少的組成部分。與使用者行為不一致和出乎使用者意料的操作會讓使用者感到很反感。 Android 3.0的顯著變化是全域導航行為。親切地遵循返回與向上導航的設計規範,這將使你的應用程式的導航變為可預測和可靠的。
Android 2.3和更早的版本在應用程式裡面的導航是依賴於系統的硬“返回”按鈕。在Android3.0中引入的動作條,第二種導航機制出現了---“向上”按鈕,它是一個表徵圖或向左的符號。
向上與返回
向上按鈕用於應用程式中基於螢幕層次之間的導航關係。舉例來說,如螢幕是顯示項目清單,選擇一個項目需要顯示螢幕B(更詳細介紹了該項目),然後螢幕B應該提供一個按鈕來返回到螢幕A.
如果螢幕是一個應用程式最頂層(即應用程式首頁),就不應該出現一個向上按鈕。
系統的“後退”導覽按鈕,是按使用者最近訪問過的曆史螢幕的時間先後順序編排的。它一般是根據螢幕上的時間之間的關係,而不是應用程式的階層來返回的。
以前查看過的螢幕也是當前螢幕的父層次,按返回按鈕與向上按鈕有相同的結果。然而, “向上”按鈕可以確保使用者仍然在你的應用程式中,不同的是,“返回”按鈕可以使使用者返回到主畫面,甚至是一個不同的應用程式。
“返回”按鈕還支援一些並無直接關係到螢幕到螢幕的導航行為:
l 消除浮動視窗(對話方塊,快顯視窗)
l 消除上下文操作欄,移除選定項目的高亮
l 隱藏螢幕上的鍵盤(IME)
應用程式中使用導航 多個進入點導航到螢幕的
有時一個螢幕在應用程式結構中沒有一個嚴格的位置,並且能從多個進入點到這個螢幕,如設定螢幕,在您的應用程式中需要從任何其它螢幕可以達到設定螢幕。在這種情況下,應該選擇“向上”按鈕返回到引用它的螢幕,這等同於“返回”按鈕。
更改螢幕視圖
更改螢幕視圖的選擇不會改變“向上”與“返回”行為:螢幕仍然在應用程式的階層的相同位置,並沒有建立新的導航曆史。
例如下面一些視圖的改變:
l 使用標籤或左、右撥動切換視圖
l 使用下拉切換視圖(又名倒塌標籤)
l 篩選列表
l 排序列表
l 更改顯示特性(如縮放)
兄弟螢幕之間導航
當您的應用程式支援挑選清單的項目之一到這些項目的詳細視圖的導航,它往往需要支援 到從列表的其中一個項中去到列表順序中的另一個項。例如,在Gmail中,在同一個收件匣中通過向左或向右滑動很容易實現從一個會話到一個新的或舊的視圖。正如更改螢幕視圖時,這種導航沒有改變的“向上”和“返回”的行為。
但是也有值得注意的例外發生,瀏覽相關細節的視圖沒有和指定的列表綁在一起,例如,當瀏覽應用市場裡同一開發商的應用程式,或相同的藝術家的專輯。在這種情況下,每一個連結都創造了曆史,導致“返回”按鈕貫穿使用者每個先前查看過的螢幕。應該使用“向上”按鈕繞過這些相關的螢幕和導航,直接到最近瀏覽過視圖的上一級容器螢幕。
你完全有能力基於你對詳情視圖的瞭解,使去到上一級的操作行為更聰明便捷。從上面的例子擴充市集,想象使用者最後是從一本書的詳細視圖導航去觀看同名書改編的電影。在這種情況下,“向上”按鈕可以不通過先前使用者的瀏覽返回到容器螢幕(電影)。
應用程式通過主畫面小組件和通知導航
可以使用主畫面上的小組件或通知協助使用者直接導航到你的應用程式階層的螢幕深處。例如,Gmail的收件匣小工具和新郵件通知都可以跳過收件匣螢幕,直接到一個會話視圖。
按下面兩種情況處理“向上”按鈕:
l 當直接通過一些有目的的操作,從另一個應用程式導航到你的應用程式的層級結構中時,“向上”按鈕應該導航到該螢幕。
l 否則,導航到應用程式在最上面(“HOME”)螢幕。
在“返回”按鈕的情況下,應該確保導航更可預測的,這得通過插入任務的返回堆棧,堆棧包含完整的向上導航到到應用程式最頂層螢幕的路徑。這使使用者忘記了在退出之前是如何進入應用程式並導航到應用程式的最上面的螢幕。
作為一個例子,Gmail的主畫面上的小組件有一個按鈕,可以直接定位到撰寫新郵件的螢幕。在撰寫新郵件螢幕“返回”要到使用者的收件匣,並從那裡繼續“返回”到首頁。
間接的通知
當您的應用程式需要同時提交多個事件的資訊,它可以使用一個單一的通知,將使用者定向到一個間質螢幕。此螢幕總結了這些活動,並深入到應用程式為使用者提供了路徑。這種風格通知被稱為間接的通知。
與標準的(直接)通知,按返回間接通知的間質螢幕,使用者返回到觸發點的通知,沒有額外的螢幕插入後退堆棧。一旦使用者進入應用程式從它的質螢幕上,向上和向後的行為為標準的通知,如上所述:導航應用程式,而不是返回到間質內。
例如,假設一個使用者在Gmail中收到從日曆來的間接通知。觸摸該通知開啟了間質的螢幕(日曆),那裡顯示多個不同的事件提醒。從間質螢幕觸摸“返回”返回到使用者的Gmail。用從間質頁面觸摸一個事件提醒可以得到提醒事件的詳細資料,為了顯示提醒事件的詳細資料會進入日曆的應用程式。從事件的詳細資料,“向上”和“返回”導航是到日曆的頂級視圖。
彈出式通知
彈出式提示通知繞過通知的發起者,而不是直接出現在使用者面前。它們是很少使用,而且應該保留給必需使用的場合,這種場合是必須及時的響應並中斷使用者上下文。例如,使用者聊天中提醒有朋友邀請視訊交談的提醒是使用這種風格,此邀請後幾秒鐘後自動失效。
從導航行為來看,彈出式通知緊跟直接一個直接通知的間質螢幕的行為。“返回”按鈕會銷毀彈出通知。如果使用者瀏覽到通知的並進入到相應的應用程式,在應用程式內部,“向上”和“返回”按鈕遵循標準的通知規則。
應用程式之間導航
Android系統的一個基本優勢是能夠用應用程式來啟用另一個應用程式,讓使用者能夠直接從一個應用程式導航到另一個。例如,在需要拍照時可以啟動一個相機應用程式,“返回”會返回引用它的照片應用程式。這對開發人員是一個巨大的收益,開發人員可以很容易地利用從其他應用程式的代碼,使用者也會享受同一應用的一致性體驗。
要理解應用程式到應用程式的導航,重要的是要瞭解Android架構,下面討論一些架構行為。
活動、任務和意圖
在Android中,活動是一個應用程式組件,它定義了螢幕上的資訊和所有和使用者關聯的可以執行的動作。你的應用程式是活動的集合,這包括你新建立的活動和從其他應用程式中重新使用的活動。
任務是完成一個目標所需要的使用者活動序列。一個單獨的任務能保證一個應用程式活動,或者可以從一定數量的應用程式規划出活動。
意圖是一個機制,這個機制是一個應用程式發出訊號後想另一個應用程式協助完成一個動作。一個應用程式的活動可以表明他們作出回應的意圖。對於常見的意圖,如“共用”,使用者可以安裝許多應用程式,可以實現“共用”這一要求。
例如:在應用程式之間支援共用的導航
要瞭解活動、任務和意圖如何一起工作,考慮應用程式如何允許使用者使用其他應用程式共用內容。例如,商店應用程式從首頁開始新的任務A(見)。瀏覽播放儲存和觸摸促銷書來看它的細節後,使用者仍然在相同的任務,通過加入活動來擴充這個任務。觸發“共用”動作彈出提示一個對話方塊,列出從不同的應用來的每項活動,這些活動是可以處理已登入使用者的共用意圖。
當使用者選擇通過Gmail “共用”,Gmail的撰寫活動被增加到任務A,作為任務A的延續而沒有新的任務被建立。如果Gmail在後台運行有它自己的任務,那個這個背景工作會受到影響。
從撰寫活動發送訊息或觸摸“返回”按鈕,返回介紹書詳細內容的活動。繼續的返回將導航到商店,一直會到達首頁。
然而,通過觸摸撰寫活動的“向上”,使用者的意圖還是想在Gmail裡。 Gmail的會話列表活動出現,並為它建立一個新的任務B。新的任務總是起源於首頁,所以從會話列表按“返回”會回到首頁。
任務A依然存在與後台,使用者可以稍後再返回(例如,通過最近的螢幕)。如果Gmail已經有自己在後台啟動並執行任務,它會被替換成任務B-前一個上下文是被遺棄。
多窗格布局
為Android寫一個應用程式時,請記住,Android裝置在許多不同的螢幕尺寸和類型。請確保您的應用程式始終如一地提供一個均衡和美觀的布局,這就需要根據不同尺寸和螢幕方向調整其內容。
要實現這一點,Panels(面板)是一個最好的方式。面板允許將多個視圖合成一個複合視圖,當水平方向有沒有可利用的空間時,切分內容,分到不同的視圖。
作者:Bruce Lee
出處:http://www.cnblogs.com/BruceLee521
本博原創文章著作權歸部落格園和本人共有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出作者名稱和原文串連,否則保留追究法律責任的權利。