天天看点

来瞧瞧 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>

继续阅读