从 SDK 14 开始,首选顺序是取消/确定,而不是之前的确定/取消。我不打算讨论这是一个好主意还是坏主意,这不是我的问题的主题。
问题是 ADK 通过为您提供以下 Lint 鼓励您对 SDK >= 14 的设备使用新订单
布局对 API >= 14 使用错误的按钮顺序:创建具有相反顺序的 layout-v14/layout.xml 文件:取消按钮应位于左侧(为“@string/send | Cancel”,应为“Cancel | @字符串/发送“)
好的,我会坚持下去,这对我来说不是问题,我知道我应该遵循建议以避免惹恼用户。
但事情是这样的……在我的三星 Galaxy S II 上,在 ICS 上运行,系统界面本身似乎没有遵循新的顺序。以下是一些截图示例:
订单是旧的。请注意,我使用手机的官方 ICS 版本(不是自定义 ROM)。我的 Galaxy Tab 2(也运行官方 ICS)上的顺序相同。在某些对话框中,顺序是正确的(取消/确定)我看到的唯一区别是主题(使用 Holo 主题的对话框具有新顺序;其他的,旧顺序)。这是来自设置(用于设置系统日期)和使用 Holo 的应用程序中的 DatePickerDialog 的屏幕截图:
这很令人不安。看起来按钮的顺序与主题相关而不与版本相关。还是只是三星没有遵循 Android 的设计模式?
我认为活动(当他们有确定/取消按钮时)也应该遵循相同的顺序。在这里,再次,在我的手机上,日历的 Create Event 活动的顺序错误(并且该活动不使用 Hole 主题):
无论如何,我将在我的应用程序中将 Holo 主题用于来自 Honeycomb 的设备,因此我将保持 SDK>=14 的新顺序。我只是想了解这个问题。
谢谢。