【Interface&navigation】设计反向和向上导航(59)


现在,用户可以向下导航到您的应用层次结构,您需要提供层次结构,父级和祖先屏幕的导航。

一致的导航是整体用户体验的重要组成部分。除了基本导航之外,很少有事情会以不一致和意想不到的方式挫败用户。仔细遵循这些Back and Up指南将使您的应用程序的导航对您的用户可预测且可靠。
【Interface&navigation】设计反向和向上导航(59)
图1.分别是 Back按钮(导航栏)和Up按钮(app bar)

Up vs. Back


“向上”按钮显示在应用栏中,用于根据屏幕之间的层次关系在应用内导航。例如,如果屏幕A显示项目列表,并且选择项目通向屏幕B(其更详细地呈现该项目),则屏幕B应该提供返回到屏幕A的向上按钮。

如果屏幕是应用程序中最顶层的屏幕(即应用程序的主页),则不应显示“向上”按钮。

“后退”按钮显示在系统导航栏中,用于按反向时间顺序浏览用户最近使用过的屏幕历史记录。它通常基于屏幕之间的时间关系,而不是应用程序的层次结构。

当先前查看的屏幕也是当前屏幕的分层父级时,按下后退按钮与按下向上按钮具有相同的结果 - 这是常见的情况。但是,与确保用户保留在应用程序中的“向上”按钮不同,“后退”按钮可以将用户返回到主屏幕,甚至可以返回到其他应用程序。

【Interface&navigation】设计反向和向上导航(59)
图2. Up和Back行为的基本示例
后退”按钮还支持一些与屏幕到屏幕导航无关的行为:

解散浮动窗口(对话框,弹出窗口)
取消上下文操作栏,并从所选项目中删除突出显示
隐藏屏幕键盘(IME)

在您的应用中导航


导航到具有多个入口点的屏幕

有时屏幕在应用程序的层次结构中没有严格的位置,并且可以从多个入口点到达 - 例如可以从应用程序中的任何其他屏幕访问的设置屏幕。在这种情况下,“向上”按钮应选择返回到引用屏幕,其行为与“返回”相同。

在屏幕中更改视图

更改屏幕中的视图选项不应更改向上或向后的行为:屏幕仍在应用程序层次结构中的相同位置,因此不会创建新的导航历史记录。

此类视图更改的示例包括以下内容:

使用选项卡和/或左右滑动切换视图
使用下拉列表切换视图(也称为折叠标签)
过滤列表
排序列表
更改显示特性(例如缩放)

在兄弟屏幕之间导航

当您的应用程序支持从项目列表导航到其中一个项目的详细视图时,通常需要支持从该项目导航到列表中位于其后面或之后的另一个项目。例如,在Gmail中,可以轻松地从对话中向左或向右滑动,以查看同一收件箱中较新或较旧的对话框,如图3所示。
【Interface&navigation】设计反向和向上导航(59)
图3.在电子邮件之间轻扫不会更改Up或Back行为

就像在屏幕中更改视图一样,这种类型的兄弟导航不会改变向上或向后的行为。

但是,当在引用列表中没有绑定的相关详细信息视图之间进行浏览时,例如,当在同一个开发人员的应用程序之间浏览Play商店或同一艺术家的相册时,会出现一个明显的例外情况。在这些情况下,每个链接后都会创建历史记录,从而导致“后退”按钮逐步浏览每个先前查看的屏幕。Up应继续绕过这些相关屏幕并导航到最近查看的容器屏幕,如图4所示。
【Interface&navigation】设计反向和向上导航(59)
图4.点击以导航到不同的书籍会将状态添加到“后退”按钮,但“上”行为保持不变

您可以根据您对详细信息视图的了解,使Up行为更加智能。从上面扩展Play商店示例,假设用户已从上次查看的书籍导航到电影改编的详细信息。在这种情况下,Up可以返回用户之前未导航过的容器(电影)。
【Interface&navigation】设计反向和向上导航(59)
图5.如果用户导航到应用层次结构的不同分支,则Up行为会更改,但Back行为会保持不变

通过应用小部件和通知导航到您的应用


您可以使用应用小部件或 通知 来帮助用户直接导航到应用层级内的屏幕。例如,Gmail的收件箱窗口小部件和新邮件通知都可以绕过收件箱屏幕,将用户直接带到会话视图。

对于这两种情况,请按如下方式处理“向上”按钮:

如果通常从应用程序中的某个特定屏幕到达目标屏幕,则Up应导航到该屏幕。
否则,Up应导航到应用程序的最顶层(“Home”)屏幕。
在这两种情况下,您都应该通过在应用程序的最顶层屏幕中插入完整的向上导航路径,使“后退”按钮更具可预测性。这使得忘记进入应用程序的用户可以在退出之前导航到应用程序的最顶层屏幕。

例如,Gmail的应用小部件有一个按钮,可直接潜入其撰写屏幕。从撰写屏幕向上或向后将用户带到收件箱,然后从那里返回到Home,如图6所示。
【Interface&navigation】设计反向和向上导航(59)
图6.点击深层链接撰写电子邮件后,Up和Back都应导航到收件箱

间接通知

当您的应用需要同时显示有关多个事件的信息时,它可以使用单个通知将用户定向到插页式广告屏幕。此屏幕汇总了这些事件,并为用户提供了深入了解应用程序的路径。此样式的通知称为间接通知。

与常规(直接)通知不同,从间接通知的插页式屏幕按回来会将用户返回到通知被触发的点 - 没有其他屏幕插入后栈。一旦用户从其插页式屏幕进入应用程序,Up和Back就像标准通知一样,如上所述:在应用程序内导航而不是返回插页式广告。

例如,假设Gmail中的用户从日历接收间接通知,如图7所示。触摸此通知会打开插页式屏幕,其中会显示几个不同事件的提醒。触摸从插页式广告返回用户返回Gmail。触摸特定事件会使用户远离插页式广告并进入完整的日历应用,以显示活动的详细信息。从事件详细信息,“向上”和“返回”导航到“日历”的顶级视图。

有关如何构建这些通知的详细信息,请参阅从通知启动活动。

【Interface&navigation】设计反向和向上导航(59)
图7.点击日历事件通知时的导航行为

应用之间的导航


Android系统的一个基本优势是应用程序能够相互激活,使用户能够直接从一个应用程序导航到另一个应用程序。例如,需要捕获照片的应用可以激活相机应用,该应用会将照片返回到引荐应用。这对于可以轻松利用来自其他应用程序的代码的开发人员以及对常用操作享有一致体验的用户来说都是一个巨大的好处。

要了解app-to-app导航,了解下面讨论的Android框架行为非常重要。

活动,任务和意图
在Android中,活动是一个应用程序组件,它定义信息屏幕以及用户可以执行的所有相关操作。您的应用是一系列活动,包括您创建的活动和您从其他应用重复使用的活动。

一个任务是活动用户遵循达到一个目标序列。单个任务可以仅使用一个应用程序中的活动,也可以利用来自多个不同应用程序的活动。

一个目的是为一个应用程序的机制,以表示它想在执行操作另一个应用程序的帮助。应用程序的活动可以指示他们可以响应的意图。对于诸如“共享”之类的常见意图,用户可能已经安装了许多可以满足该请求的应用程序。

示例:在应用之间导航以支持共享
要了解活动,任务和意图如何协同工作,请考虑一个应用程序如何允许用户使用其他应用程序共享内容。例如,从Home启动Play商店应用程序开始新的任务A(见下图)。在浏览Play商店并触摸推荐的书籍以查看其详细信息后,用户将保持相同的任务,通过添加活动来扩展它。触发共享操作会向用户提示一个对话框,其中列出已注册处理共享意图的每个活动(来自不同的应用程序)。
【Interface&navigation】设计反向和向上导航(59)
图8.与电子邮件共享内容的用户流程

当用户选择通过Gmail共享时,Gmail的撰写活动将作为任务A的延续添加 - 不会创建任何新任务。如果Gmail在后台运行自己的任务,则不受影响。

在撰写活动中,发送消息或触摸后退按钮可将用户返回到书籍详细信息活动。随后的Back返回继续浏览Play商店,最终到达Home。
【Interface&navigation】设计反向和向上导航(59)
图9.完成或退出共享操作的用户流程

但是,通过从撰写活动中触摸向上,用户表示希望保留在Gmail中。将显示Gmail的对话列表活动,并为其创建新的任务B. 新任务总是以Home为根,因此从会话列表中返回返回返回。
【Interface&navigation】设计反向和向上导航(59)
图10.用于从共享操作向上或向后导航的用户流程

任务A在后台持续存在,用户可以稍后返回(例如,通过“最近”屏幕)。如果Gmail已经在后台运行了自己的任务,它将被替换为任务B - 先前的上下文被放弃,以支持用户的新目标。

有关后导航如何使用不同任务的更多详细信息,请阅读“ 任务”和“后台堆栈”。

请参阅以下页面以实现“后退”和“后退”导航:

提供适当的后退导航
提供导航

联系我

QQ:94297366
微信打赏:https://pan.baidu.com/s/1dSBXk3eFZu3mAMkw3xu9KQ

公众号推荐:

【Interface&navigation】设计反向和向上导航(59)

猜你喜欢

转载自blog.51cto.com/4789781/2170488