android - 如何处理"save" 和"cancel" 按钮以及后退键

  显示原文与译文双语对照的内容
0 0

我想知道如何在我的应用程序中处理用户输入表单。 ( 真正的预算精简) 。现在这就是我正在做的,但我不确定这是不是最佳实践:

我的大多数 activity 上都有两个带有用户输入的软按钮: "保存"还有"取消"。

保存"捕获用户输入,然后完成当前的Activity"取消"放弃任何用户输入并完成当前 Activity 按下设备上的后退按钮"保存"

back按钮执行函数"保存并返回"仍然有点麻烦。 新的android手机用户很可能使用的是网络浏览器,其中的后退按钮意味着"。忘记此页,返回到上一页"。 如果你在网上买东西,而且你到了最终的"购买"页面,你不会期望后退按钮完成购买,你会看到。 但是,这似乎是构建在应用程序中的方式,所以我是 NOT 倾向于做不同的事情。

总之,我已经浏览过官方的文档,我找不到这个行为。 谁能指点我正确的位置,或者至少为最佳实践提供一些指导?

我看到的选择是:

  1. 按我现在的方式做。
  2. 去掉"保存"按钮并指望用户知道后退等于 save 。
  3. 去掉两个按钮并从菜单键提供一个取消功能。

google联系人应用程序提供了按钮"已经完成"和"还原",顺便说一下。 我想"还原"是指取消,有什么区别? 也许我应该把我的按钮标记为"已经完成"和"还原"而不是"保存"和"取消"? 在gmail中,菜单按钮提供了"保存草稿"和"丢弃"的选项。 这似乎是我在这里,如果我们在这里有一定的一致性。

先谢谢了。

时间: 原作者:

0 0

但是,这似乎是构建在应用程序中的方式,所以我是 NOT 倾向于做不同的事情。

唯一构建的应用程序是这样的,我可以想到的是联系人应用程序,我发现用户体验是很糟糕的。 昨天我只是在咒骂它,因为它发生了。

也许其他构建在应用程序中的,但我还没有遇到它,至少 NOT 是我回忆的。

总之,我已经浏览过官方的文档,我找不到这个行为。

在文档中没有用户体验指南。 不幸的。

这似乎是我在这里,如果我们在这里有一定的一致性。

你从我那里得不到任何论据。

就个人而言,我认为后退按钮像"取消"一样,或者任何否定的选择。 对话框通常以这种方式在Android上运行,例如。

如果你有现有的用户,并且你已经建立了与( 通讯,支持谷歌集团,等等 )的通信,我将轮询它们并查看他们认为。 最后,这是你的用户想要的最重要的内容。

,让它可以配置。 理想情况下,对于这样的事情,有一个 true 正确的答案,因此可以配置是没有意义的。 然而,如果你的投票表明一个分割投票,并且在没有Android平台的UX指南中,一个设置可能是对你的正确解决方案。


更新:我写了博客关于这个问题,我认为这是相当重要的,值得更多的散文。

原作者:
0 0

我强烈推荐你遵循标准Android和应用程序所使用的模型,在这种模式下,编辑总是。 也就是说,没有"保存"按钮--所做的更改会被有效保存,因为它们正在完成。 ( 实现可能是稍有不同的,但对于用户来说,这不应该是可见的。) 遵循这个模型,你的按钮应该沿着"已经完成"和"还原"的行。 这有助于用户模型的心智,这将使 Activity 不可能变成"还原"操作。

使用这里数据编辑模型的一个原因是,你将遇到更少的错误边缘案例。 如果你试图呈现一个更传统的模式,用户显式保存,那么任何路径,用户可能需要从你的Activity 数据丢失的是一个潜在的原因,然后让你想要保护他们,从而试图显示对话框来确认他们真的想失去他们的数据。 这是一个丢失的战斗,你将永远无法捕捉到所有的漏洞,并且你的UX会受到它的影响。 ( 例如如果他们接收到一个电话呼叫,这只是没有时间把一个对话框放到一个对话框中,如果他们想保存数据的话,也可以。)

所以从你的基本模型开始编辑。 这与标准平台使用的约定一致,这在平台设计中被故意选择,因为整体结果会导致更简单且更容易理解的用户体验。 通过避免显式的"保存"操作来设计你的UI流以强调这里模型。

0 0

对我来说,我总是觉得'不安全'没有保存选项。 例如在GTask中,当你创建一个新任务时,点击'背面'( 硬按钮) 将保存内容并返回到上一个屏幕。 这里没有软按钮。 但我总是对这个 frustrated 。

对于你的应用程序,我想你需要考虑两个事情,在决定后退按钮执行的方式之前:

  1. 你的'保存'操作有多重要( 就像它将发出订单) !
  2. 你的用户是否希望取消?

显然,如果保存过程很长且很关键,则必须采取显式控制。 ( 并不保存) ;对于第二个点,我猜GTask认为记记笔记应该快速简单,而且应该像记在纸上的---一样,一旦你写了一次,一旦你写。

参考你所说的,回到网络浏览器的时候,你会忘记所有的东西。 但同时,谷歌( 比如 ) 。 Google Docs ) 也在做自动的后台保存,当你回来时它不是'已经遗忘'。

原作者:
0 0

在决定一个普遍的行动当用户按下( 如果 NOT 不可能) 使得这个问题更加困难。

一个简单的方法是考虑上下文,我看到两个主要情况: 用户正在与一个对话框交互,并且用户正在与一个常规的Activity 交互。

对话框交互

如果用户在对话框( 例如日期时间选取器对话框) 中按下它,因为他不想看到该对话框或者更改该信息。

在对话框中,用户不希望应用,直到他说( 按下"") 为止。

Activity 交互

例如用户看到了一些应用程序提供( 联系人信息)的细节。 在某些更改后按下可能意味着"现在把我带回到联系人名单"。 我是 NOT 100%清除。 所以包括保存和丢弃更改的选项( 你喜欢什么叫什么) 可能是一个不错的选择。

我作为一个安卓用户的想法

对话框中的行为简单而清晰。 我觉得我们对它没有任何怀疑。

在 activity 中,我使用的是后台键保存数据并向最后的Activity 发送。 每当我想放弃更改时,我都会发现自己按下菜单按钮,并寻找一个按钮来取消。

如果你想要更好的,包括默认的行为作为偏好和/或者显示在你取消或者保存信息时,。

取消 vs 恢复

实际上,他们做同样的事情。 取消,先生,取消你现在正在做的事情。 这应该会带你去做你在( 列表 Activity ) 之前做的事情。

恢复将改变你在开始更改之前所看到的状态的状态。 这可能是 NOT 带你到上一个 Activity 。 它可以简单地将UI更新为原始值。

使用联系人应用程序的实验

  1. 编辑联系人时按后退将保存更改。
  2. 编辑联系人时按家将放弃更改
原作者:
...