在ICS中确定/取消按钮顺序

Ben*_*uré 8 android android-layout android-button

从SDK 14开始,首选顺序是取消/确定,而不是之前的确定/取消.我不打算参加关于这是不是一个好主意的辩论,这不是我的问题的主题.

问题是,ADK鼓励您使用SDK> = 14的设备使用新订单,为您提供以下Lint

布局使用错误的按钮顺序API> = 14:创建一个相反顺序的layout-v14/layout.xml文件:取消按钮应位于左侧("@ string/send | Cancel",应为"Cancel | @"字符串/发送")

好的,我会坚持,这对我来说不是问题,我理解我应该遵循建议,以避免烦扰用户.

但事情就是这样......在我的三星Galaxy S II上,在ICS上运行,系统界面本身似乎不遵循新订单.以下是一些屏幕截图示例:

在此输入图像描述

订单是旧订单.请注意,我使用的是我手机的官方ICS版本(不是自定义ROM).我的Galaxy Tab 2(也运行官方ICS)的顺序是一样的.在某些对话框中,订单是正确的(取消/确定)我看到的唯一区别是主题(使用Holo主题的对话框有新订单;其他,旧订单).以下是使用Holo从设置(设置系统日期)和我的应用程序中的DatePickerDialog的屏幕截图:

在此输入图像描述

这非常令人不安.看起来按钮的顺序与主题相关,而不是版本相关.或者只是三星不遵循Android的设计模式?

我认为活动(当他们有确定/取消按钮时)也应遵循相同的顺序.而且,在我的手机上,日历的"创建事件"活动的顺序错误(并且活动不使用"孔"主题):

在此输入图像描述

无论如何,我将在我的应用程序中使用Holo主题设备来自Honeycomb,因此我将保留SDK> = 14的新订单.我只是想了解这个问题.

谢谢.

Roy*_*nto 5

是的,按钮交换是非常恼人的,我最终击中取消超过确定按钮.但这就是你能做的.创建自己的自定义对话框,以便控制哪个按钮到达哪里,否则让用户通过阅读来弄清楚.我们只需要做程序员就是这样,当按下取消时,它实际上取消了而不是好的!为了更清楚地说明Ok-Cancel被交换的原因,这是为了避免Apple侵犯专利,因为他们也遵循Ok-Cancel.所以交换取消 - 确定意味着没有侵权(愚蠢,但节省谷歌百万!)

  • 这个愚蠢的数量让你给我+1;)苹果如何才能在Windows上使用多年的专利?或许微软和苹果都有这方面的专利.您是否恰好能够提供对您的陈述的引用? (2认同)