2

目前关于后退按钮的最佳做法是什么?

许多应用程序在您打开它们时会保存和恢复整个活动堆栈(在它们已经 onStop 和 onDestroyed 之后),以 Facebook 为例,当您打开它并且您的最后一个位置在照片中时,然后按回不会关闭 Facebook 应用程序,它会无限地回到您几天前打开该应用程序时所做的第一件事。

我认为,这种设计约定与后退按钮的预期功能有些不同。它通常用于终止应用程序或停止将您带回设备启动器屏幕的主视图。

Facebook 只是这样做的应用程序的一个例子。

是否有开发人员文章或像 Google I/O 这样的权威来源讨论此功能的实用性(恢复活动堆栈并让后退按钮遍历它们)与其他功能(杀死视图将用户从应用程序中退出)?如果是这样,请在此处讨论并链接它们。我希望这不会被认为太主观,因为有正确使用后退按钮以及错误使用

4

4 回答 4

2

Facebook 应用实际上所做的是 Android 的基本默认行为。这些应用程序对这种行为没有做任何特别的事情。默认情况下会保存 Activity 堆栈。

关于它的引用较多的博客之一是CommonsWare 的 BACK 表示 Back。基本上,“返回”按钮的功能意味着它应该将您带到您刚才所在的上一页。在 Android 中,这通常是您刚刚推送的最后一个 Activity。如果用户想离开应用程序,那么他或她可以按下“HOME”按钮,这将始终推动 Activity 堆栈并将用户带到主屏幕。

这意味着,BACK 按钮的功能完全取决于相关应用程序,但其概念是反转用户刚刚执行的操作。如果你在玩游戏,你会去一个子菜单,BACK 按钮应该把你带到顶部菜单。如果您在浏览器中,“返回”按钮可能会将您带到您查看的最后一个网页。如果您在浏览器中并且您在首页,则用户可能希望 BACK 按钮关闭应用程序,因为用户在打开浏览器之前所做的最后一个操作是打开应用程序。如果用户开始下载,BACK 按钮可能会取消它。

One functionality improvement that Facebook and others like is may consider is to wipe the stack after x number of days since the user may not remember exactly what they did since being interrupted from the last use. The use case for this is very small though.

Overall, this is why people always stress usability testing. You have to figure out what 99% of the people of the app expected when they press the back button.

于 2013-01-15T15:52:54.527 回答
2

您可以在 Android 开发者网站上找到不应更改后退按钮的预期行为。让操作系统处理后退按钮。

App 没有重新定义系统图标的预期功能(如返回按钮)。

该报价是从他们的核心应用质量页面中提取的。

您应该考虑使用向上导航。您可以在此处阅读有关为其设计的更多信息:

最后,这是一个关于如何实现各种类型导航(横向、祖先 [向上]、时间、后代)的教程。在这里检查

于 2013-01-15T15:53:34.237 回答
0

我认为这种行为取决于应用程序逻辑。默认情况下,希望在前一个屏幕上移动(返回堆栈中的活动,或者如果它被保存到片段的返回堆栈中的片段)。实际上,这种情况没有任何灵丹妙药。只需使用您想要的“背压实现”即可。我的观点是,在后按时,应用程序必须以先前的逻辑状态显示。

于 2013-01-15T17:06:44.090 回答
0

根据我的个人经验,您可以通过长按后退按钮来关闭大多数使用后按进入上一个屏幕的屏幕。
最好的例子是浏览器应用程序,无论是原生浏览器还是第三方浏览器

于 2013-01-15T15:44:30.383 回答