首页 > 解决方案 > 我的应用程序应该实现后退按钮吗?

问题描述

我的应用程序有一个已定义的流程,从 1 个片段开始,一直移动到第 2、3、4、5 个和最后的第 6 个片段。由于流的性质,通常也通过片段向后移动。

我没有在应用程序中实现后退按钮,因为我记得阅读了 Google 的设计理论,它建议永远不要实现后退按钮,因为 Android 设备实现了自己的后退按钮。

我仍在开发中,我已经与用户一起测试了该应用程序,并且收到了我应该实现后退按钮的反馈。

我的第一个想法是拒绝反馈,因为我上面提到的理论原理,但我不记得足够详细的原理能够再次找到它,所以我想知道我的记忆是否不准确。

这个原则正确吗?实现后退按钮是否违反谷歌设计原则?

标签: androiddesign-patterns

解决方案


我想你读到的是这个

您的应用不应向 UI 添加返回按钮。

这并不意味着您不能覆盖onBackPressed并添加您想要的行为。这仅意味着您应该使用 Android 提供的返回按钮,而不是添加另一个具有相同功能的按钮。例如,我仍然看到大量使用主页按钮的应用程序,其行为与后退按钮相同。

google 在上面的链接中给出了这种覆盖行为的简单实现:

override fun onBackPressed() {
    if (mWebView.canGoBack()) {
        mWebView.goBack()
    } else {
        // Otherwise defer to system default behavior.
        super.onBackPressed()
    }
}

在这里,他们使用它为 WebView 提供后退按钮行为。同样可以在后台浏览你的片段。

此外,用户应该是决定你的用户体验的人,谷歌给你的指导方针已经被证明是正确的。有时这些指南会随着手机和用户体验的发展而过时。因此,如果您的用户需要后退行为,您应该添加一个。


推荐阅读