Desde SDK 14, el orden preferido es Cancelar/Aceptar en oposición a Aceptar/Cancelar antes. No voy a entrar en el debate de si es una buena o mala idea, este no es el tema de mi pregunta.Orden de botones Aceptar/Cancelar en ICS
La cosa es que el ADK le anima a utilizar el nuevo orden para los dispositivos con SDK> = 14 dándole la siguiente pelusa
Layout utiliza el orden botón equivocado de API> = 14: Crear una archivo/layout.xml diseño-V14 con el orden opuesto: Cancelar botón debe estar a la izquierda (era "@ string/enviar | Cancelar", debe ser "Cancelar | @ string/enviar")
De acuerdo, me apegaré a eso, esto no es un problema para mí y entiendo que debería seguirme oye el consejo para evitar molestar a los usuarios.
Pero aquí está la cosa ... En mi Samsung Galaxy S II, ejecutándose en ICS, la interfaz del sistema parece no seguir el nuevo orden. Aquí hay algunos ejemplos de pantalla:
El orden es el antiguo. Tenga en cuenta que utilizo la versión oficial de ICS para mi teléfono (no una ROM personalizada). Y el orden es el mismo en mi Galaxy Tab 2 (también funciona con ICS oficial). En algunos cuadros de diálogo, el orden es correcto (cancelar/aceptar) La única diferencia que veo es el tema (los diálogos que usan el tema Holo tienen el nuevo orden, los otros, el orden anterior). Aquí está una captura de pantalla de un DatePickerDialog de la configuración (para configurar la fecha del sistema) y desde mi aplicación utilizando Holo:
Esto es muy preocupante. Parece que el orden de los botones está relacionado con el tema y no relacionado con la versión. ¿O es solo que Samsung no sigue los patrones de diseño de Android?
Creo que las Actividades (cuando tienen botones Aceptar/Cancelar) también deben seguir el mismo orden. Y aquí, de nuevo, en mi teléfono de la actividad Crear eventos del calendario tiene un orden incorrecto (y la actividad no utilizar el tema del agujero):
Me va a utilizar el tema Holo en mi aplicación para dispositivos como Honeycomb de todos modos, así que mantendré el nuevo orden para SDK> = 14. Solo me gustaría entender esto.
Gracias.
La cantidad de estupidez de esto me dio +1 de mí;) ¿cómo puede Apple tener patente sobre algo que Windows ha usado durante años? O tal vez Microsoft y Apple tienen patente sobre esto. ¿Sería capaz de producir una referencia a sus declaraciones? – Warpzit
@Royston - Como dije, la pregunta no es qué debo hacer o no. En SDK> = 14, se debe seguir el orden (Cancelar/Aceptar) y esto es lo que voy a hacer. La pregunta aquí es comprender por qué algunos diálogos del sistema tienen un orden incorrecto. –
No es que tengan el orden incorrecto, pero hasta OEM debe haber nombrado el botón Positivo como cancelar y el botón negativo como OK, lo que cambia el orden. Incluso tú podrías hacer eso. No es una regla dura y rápida que deba seguirse. –