android - 我的应用程序应该实现后退按钮吗?
问题描述
我的应用程序有一个已定义的流程,从 1 个片段开始,一直移动到第 2、3、4、5 个和最后的第 6 个片段。由于流的性质,通常也通过片段向后移动。
我没有在应用程序中实现后退按钮,因为我记得阅读了 Google 的设计理论,它建议永远不要实现后退按钮,因为 Android 设备实现了自己的后退按钮。
我仍在开发中,我已经与用户一起测试了该应用程序,并且收到了我应该实现后退按钮的反馈。
我的第一个想法是拒绝反馈,因为我上面提到的理论原理,但我不记得足够详细的原理能够再次找到它,所以我想知道我的记忆是否不准确。
这个原则正确吗?实现后退按钮是否违反谷歌设计原则?
解决方案
我想你读到的是这个。
您的应用不应向 UI 添加返回按钮。
这并不意味着您不能覆盖onBackPressed
并添加您想要的行为。这仅意味着您应该使用 Android 提供的返回按钮,而不是添加另一个具有相同功能的按钮。例如,我仍然看到大量使用主页按钮的应用程序,其行为与后退按钮相同。
google 在上面的链接中给出了这种覆盖行为的简单实现:
override fun onBackPressed() {
if (mWebView.canGoBack()) {
mWebView.goBack()
} else {
// Otherwise defer to system default behavior.
super.onBackPressed()
}
}
在这里,他们使用它为 WebView 提供后退按钮行为。同样可以在后台浏览你的片段。
此外,用户应该是决定你的用户体验的人,谷歌给你的指导方针已经被证明是正确的。有时这些指南会随着手机和用户体验的发展而过时。因此,如果您的用户需要后退行为,您应该添加一个。
推荐阅读
- android - 如何使用广播android将数据从一个应用程序发送到另一个应用程序
- javascript - React - 生产如何读取 .env 文件?
- opencv - findChessboardCorners 失败
- swift - 如何更改安全区域的颜色?
- node.js - Gunzip缓冲区并写入文件
- flutter - Flutter 视频播放器质量选择器
- kubernetes - K8S 审计 Webhook 后端 - 如何处理身份验证?
- java - 无论哪个 RecyclerView 滚动,工具栏都会隐藏
- firebase - 无法从 Firestore 读取数据
- javascript - 如何在 JavaScript 中调用字符串元素及其索引?