【问题标题】:Dialog box positive / negative buttons in different position depending on android version不同位置的对话框正/负按钮取决于 android 版本
【发布时间】:2013-11-21 10:01:26
【问题描述】:

我一直在为我们公司编写一个新应用程序,但遇到了一件奇怪的事情。在测试设备(运行 2.3.x)上,警报对话框按钮将始终按以下顺序排列:

积极的 |负面的

然而,当我在我的个人手机(运行 4.x)上测试应用程序时,警报对话框按钮切换到:

否定 |积极的

代码显然是一样的。

我真的不想制作不同的版本。但是我可以在代码中满足更高版本的需求,也许(尽管它很垃圾)交换正负按钮的文本......我猜这会起作用,但它有点可怕!

我可以预见的唯一问题是,我们的最终用户不是那么精通技术,并且拥有多个设备,使用不同版本的操作系统,可能会导致问题(我可以很容易地满足这些问题,但宁愿一些一种“标准”)。

这是我可以解决的问题吗?还是最好保持原样并让操作系统处理它(就像我现在所做的那样)?另外,我还会遇到其他小问题吗? IE。我能否保证在 4 台以上的设备上,如果我只使用 2 个按钮,它们将保持上述顺序。

我希望有人会发布一个隐藏的标志,它神奇地将 4.x 警报对话框设置为 2.x 样式:) 我很幸运,我知道!

干杯。非常感谢任何帮助。

【问题讨论】:

  • 这是Dialog 的标准行为。在 GingerBread 及之前,位置将始终为POSITIVE|NEUTRAL|NEGATIVE,而在 HoneyComb 及之后为NEGATIVE|NEUTRAL|POSITIVE。由于这是由操作系统本身定义的,因此您实际上不必考虑它。

标签: android android-alertdialog


【解决方案1】:

这是来自 Google (see issue 24138) 的一个有趣的疯子,但在 ICS 中,它应该是这样的。绝对最好让操作系统选择排序。

【讨论】:

  • 干杯。我也觉得有点奇怪。我已经开发了一段时间的应用程序,并且已经习惯了按钮在哪里,并且在 4.x 上的前几次尝试对话框一直在取消。花了我几个去弄清楚那个。只要从这里开始保持不变,我就会将它们切换为旧操作系统。这并不理想,但我需要一致性。干杯。
【解决方案2】:

如果您希望所有版本都相同,您可以检查正在运行的 Android 版本,并自行更改否定/肯定按钮。我不推荐它,人们会希望它喜欢在他们的设备上,不要硬着头皮让每个人都拥有完全相同的流程。

【讨论】:

  • 仅适用于公司应用。我们有两种可能的设备。一个是条码扫描仪 2.3,另一个是平板电脑 4.x - 我不介意“拔鞋”,因为它仅供内部使用,不会进入大众市场,所以自己捏造按钮可能更容易,只是为了给它的外观和感觉相同。真的很烦人而且很奇怪。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-04
  • 1970-01-01
相关资源
最近更新 更多