編輯:Android開發教程
通過手機的通知系統,可以將應用程序的一些重要消息告知給用戶。流暢、 舒適、友好的應用程序離不開精心設計的消息提醒機制。但是並不是所有的通知 都是用戶想看的,否則只會給用戶造成騷擾,所以要謹慎使用通知。
在 對《Android Design》進行翻譯時發現:Android系統已經提出了一些關於通知 消息的設計建議,故在此分享給大家。
一、何時使用通知?
通知 主要用於對時間敏感(Time Sensitive)的事件,尤其是涉及他人(Involve another person)的同步事件。例如下面的Gtalk和日歷發出的通知就是時間敏 感,且與人相關的事件。
那麼什麼時候又不應該使用通知呢?官方的建議是:
不直接針對用戶的,或不緊急的信息。例如SNS中與用戶沒有直接關系的新鮮 事。Path可能就犯了這個錯誤。
正顯示在當前屏幕的信息也不必創建一個通知。即正在聊天的時候,就不必 再創建關於聊天消息的通知了。
系統可以自己完成而無需用戶操作的簡單動作,例如保存、同步或者是更新 應用程序等。
如果發生錯誤了,但是應用程序可以快速自我恢復,此時也不必用通知去打 斷用戶,甚至都可以不用讓用戶知道這個錯誤。
對於用戶不能手動啟動或停止的服務,也不必使用通知。
不要為了讓用戶對你的品牌記憶深刻而創建多余的通知,否則只會讓用戶反 感。想讓用戶對你的應用程序保持注意力並且提供少量內容的最好方式是提供小 部件(widget)給用戶,讓用戶可以將它放到首頁。
二、通知的設計指南
1. 使其私有化
其他用戶發過來的通知應 該在通知裡包含用戶的頭像(Icon/Photo),還要顯示通知的標題(Title)、 消息內容(Message)、時間戳(Timestamp),以及應用程序的圖標 (Secondary Icon)。
2. 合並同類通知
如果一個應用程 序發出了多個相同類型的通知,而且這些通知都還沒被處理的話(被處理的通知 會被移出通知抽屜),那麼請將相同類型的通知合並為一個。
合並後的 通知會有一個總結性的描述,並且能讓用戶知道一共合並了多少條通知(Number Pending)。
3. 對時間敏感事件的時間戳
默認的系統通知會在通知右上角打上時 間戳,如果你認為顯示時間戳對你的通知是沒有意義的,那你可能就要重新考慮 是否值得為這條消息創建一條通知了。如果這條通知確實足夠重要,再決定是否 不顯示時間戳。
常見的需要顯示時間戳的通知是通訊通知,如Email、短 信、聊天消息這種,用戶需要通過時間戳來理解消息的上下文。
4. 通知 相關的導航機制
如果用戶點擊了一條通知,此時應該將相關的應用程序 打開到可以對通知中提到的內容進行操作的狀態。但如果用戶點擊了一個合並的 通知,應該去到列表頁面(內容頁的上一層級),後面第三部分會詳細闡述。
5. 自我清理
有些通知會在某個時間點出現告知用戶一些相關的 信息和提示,但是如果過了那個時間點,這個通知可能對用戶來說就不重要了, 此時就應該考慮自動刪除這條通知。
同樣的,用戶查看過的聊天消息或 郵件,也應該讓用戶不必手動操作就移除這些通知。
6. 為通知提供預覽
提供一段簡短的文本作為通知的預覽可以讓用戶大致了解通知的內容, 從而幫助用戶決定是否立刻查看該通知。
7. 讓用戶決定是否顯示通知
用戶 可能對頻繁出現的通知感到厭煩,所以應該讓用戶決定是否顯示通知。因此,在 應用程序的設置中應該讓用戶可以取消通知。
8. 使用不同的圖標
為了讓用戶在通知欄看一眼就能知道是哪個應用程序發出的通知,應該 采用有自己特色的圖標。所以在設計應用程序的圖標的時候,應該注意與其他 Android應用的通知圖標有比較明顯的區別。
但需要注意的是不要用顏色 來區分,因為通知圖標通常都是黑白的。
三、通知的導航機制
1. 單條通知與合並通知
如果用戶點擊了一條通知,此時應該將相關的應用 程序打開到可以對通知中提到的內容進行操作的狀態。例如用戶收到一封新郵件 的通知,用戶點開該通知後應該去到這封郵件的內容頁。
因為同類通知會被合並,如果用戶點擊了一個合並的通知,應該去到列表頁 面(內容頁的上一層級)。在下面的例子中,用戶點開一條合並的新郵件通知後 ,進入了收件箱界面。
2. 間接通知
如果應用程序需要同時展示多個事件的信息,可以使用 一條通知將用戶指引到一個中間界面。這個界面會展示這些事件,並為用戶提供 進入應用程序的入口。這種類型的通知被稱為間接通知。
例如一個用戶 在Gmail中收到了Calendar發出的一條間接通知。點擊這條通知後打開一個中間 界面(calendar interstitial),這個界面下顯示了幾個事件的提醒,在這個 界面點“返回”鍵會回到Gmail,但是如果用戶點擊了某個事件提醒,就會離開 這個中間界面並打開Calendar應用程序以顯示這個事件的詳細內容。在這個事件 的詳細內容的界面下,點“向上”和“返回”都會去到Calendar應用的首頁。
在間接通知的中間界面點“返回”會回到觸發該通知的界面,返回路徑中不 會被插入其他界面。一旦用戶通過中間界面進入了應用程序,“向上”和“返回 ”的邏輯就與標准通知一樣了:在應用程序之間進行導航,而不會返回到中間界 面。
關於間接通知的詳細內容請查看百度MUX翻譯的《Android Design》 的模式Patterns—-導航Navigation章節。
第一次寫帶圖片的博客,多少還是有點緊張,效果不好,請將就著看,前面的圖是今天要寫的控件的效果圖,元素不多,分別是一個按鈕和一個自定義的控件。在此以前,我看過許多的書,比如
無論是google還是百度查找NDK環境搭建,肯定少不了要求裝cygwin,其實安裝cygwin的主要目的就是為了編譯C/C++文件成為動態鏈接庫,目前最新版本的ADT和
1、Pull概述Android系統中和創建XML相關的包為org.xmlpull.v1,在這個包中不僅提供了用於創建XML的 XmlSerializer,還提供了用來解析
1.背景SQLite是嵌入式設備使用的一種輕量型數據庫。可以通過執行sql語句對數據庫進行操作,android也為其提供了完善的函數接口支持。下面就來實現一個簡單的數據庫
前給例子介紹了如何使用PreferenceActivity 來顯示修改應