天天看點

來瞧瞧 Android N 中的通知長成啥樣了

<b>本文講的是來瞧瞧 Android N 中的通知長成啥樣了,</b>

<b></b>

Android 通知往往是應用和使用者之間至關重要的互動形式。為了提供更好的使用者體驗,Android N 在通知上做出了諸多改進:收到消息後的視覺重新整理,改進對自定義視圖的支援,擴充了更加實用的直接回複消息的形式,新的 <code>MessagingStyle</code>,捆綁的通知。

首先,最明顯的變化是通知的預設外觀已經顯著改變。除了應用程式的圖示和名稱會固定在通知内,很多分散在通知周圍的字段也被折疊進新的标題行内。這一改變是為了確定盡可能騰出更多空間給标題、文本和大圖示,這樣一來通知就比現在的稍大些,更加易讀。

來瞧瞧 Android N 中的通知長成啥樣了

給出單标題行,這就比以往的資訊更加重要且更有用。當指定 Android N 時,預設情況下,時間會被隐藏 - 對時間敏感的通知(比如消息類應用),可以 <code>setShowWhen(true)</code> 設定重新啟用顯示時間。此外,現在 subtext 會取代内容消息和數量的作用:數量是絕不會在 Android N 裝置上出現的,除非指定之前的 Android 版本,而且不包含任何 subtext,内容消息将會顯示。在所有情況下,都要確定 subtext 是相關且有意義的。例如,如果使用者隻有一個賬号,就不要再添加郵箱賬戶作為 subtext 了。

通知收到後的操作也重新設計了,現在視覺上是在通知下方單獨的一欄中。

來瞧瞧 Android N 中的通知長成啥樣了

你會注意到,圖示都沒有出現在新的通知中;取而代之的是,将通知内有限的空間提供給了标簽本身。然而,在舊版本的 Android 和裝置上,通知操作圖示仍然需要且被繼續使用,如 Android Wear 。

如果要從自定義 <code>RemoteViews</code> 建立自己的通知,以适應任何新的樣式一直以來都很具有挑戰性。随着新的 header,擴充行為,操作,和大圖示位置都作為元素從通知的主要内容标題中分離出來,我們已經介紹一種新的 <code>DecoratedCustomViewStyle</code>和 <code>DecoratedMediaCustomViewStyle</code> 提供所有這些元素使用, 這樣就能使用新的 <code>setCustomContentView()</code> 方法,專注于内容部分。

來瞧瞧 Android N 中的通知長成啥樣了

這也確定未來外觀改變了,也能輕易的随着平台更新,适配這些樣式,還無需修改 app 端的代碼。

雖然通知是可以用來啟動一個 <code>Activity</code>,或以一個 <code>Service</code> 、<code>BroadcastReceiver</code> 的方式在背景工作,直接回複 允許你使用通知操作直接在内嵌輸入框中回複。

來瞧瞧 Android N 中的通知長成啥樣了

<code>RemoteInput</code> 本身包含資訊,如将用于以後恢複輸入的秘鑰,在使用者開始輸入之前的提示資訊。

請記住,在 Marshmallow 中,被傳入 <code>Action</code> 的 <code>pendingIntent</code> 應該是一個 <code>Activity</code>。更低版本的裝置不支援直接回複(你可能會想解鎖螢幕,啟動一個 <code>Activity</code>,然後聚焦到使用者回複的輸入框中),Android N 裝置上 <code>Service</code>(如果你想要在一個單獨的線程中運作) 或 <code>BroadcastReceiver</code>(運作在 UI 線程中) 即便處于鎖頻狀态,背景也能處理文本輸入。(在系統設定中有一個獨立的使用者選項,可以啟用/禁用鎖定裝置的直接回複功能。)

處理文本後,必須更新通知。這将觸發隐藏直接回複 UI,這可以作為一種技巧來确認使用者是否收到回複并正确處理。

對于大多數模闆,這将涉及使用新的 <code>setRemoteInputHistory()</code> 方法,将答複追加到通知底部。更多回複應該追到曆史記錄下,直到主要内容更新(比如别人的回複)。

來瞧瞧 Android N 中的通知長成啥樣了

不過,如果你是在做一個消息應用,期待着“你來我往”的對話,那就應該用 <code>MessagingStyle</code>,将額外消息追加上去。

我們已經優化過正在對話狀态中消息的顯示,用新的 <code>MessagingStyle</code> 直接回複。

來瞧瞧 Android N 中的通知長成啥樣了

對于通過多 <code>addMessage()</code> 方法增加多條消息,這種風格提供内置的格式化。每個消息支援通過文本本身、 一個時間戳,以及消息的發送人來增加(使它易于支援組對話)。

你可能會注意到,這種風格能很好的支援特殊使用者消息的展示,填寫它們的名字(上例中的“Me”),設定一個可選的對話标題。 雖然可以手動通過 “BigTextStyle” 來完成,使用這種風格的 Android Wear 2.0 使用者能立即得到内置響應,不會被“踢出”擴充通知視圖,無需建立完整的穿戴(Android Wear)應用就能達到無縫體驗。

來瞧瞧 Android N 中的通知長成啥樣了

捆綁通知 提供兩全其美的辦法: 一個單獨的概要通知,當使用者在看其他通知或者想要同時操作所有通知時在個别通知上擴充了組操作能力(包括使用操作和直接回複)。

為了提升所有 Android N 裝置的使用者體驗,發送 4 個或者更多通知時沒有以組的方式,這些通知将自動合并成一組

通知在 Android 上是一直不斷改進的功能。從 Gingerbread 時代的單擊目标,到可擴充通知,操作,MediaStyle 以及現在的直接回複,綁定通知。通知在 Android 使用者體驗上扮演着不可或缺的一部分。

<b>原文釋出時間為:2016年07月06日</b>

<b>本文來自雲栖社群合作夥伴掘金,了解相關資訊可以關注掘金網站。</b>

繼續閱讀