La especificación de diseño de materiales para Android 5.0 es impresionante. Las aplicaciones actualizadas proporcionadas por Google para mostrar la interfaz de usuario de Android reinventada se ven hermosas. La nueva aplicación Gmail, la aplicación Google Play actualizada y el nuevo panel de notificaciones son limpios, elegantes y una de las experiencias móviles más atractivas disponibles en cualquier dispositivo.

Todos los clientes con los que hablo están ansiosos por "renovar" su aplicación de Android con una actualización de materiales; los nuevos clientes ni siquiera considerarán otra cosa que no sea una experiencia de hardware lista para usar. Google ha hecho un trabajo fantástico al crear una experiencia de usuario única y hermosa.

Google también ha logrado crear un gran revuelo: los usuarios, las partes interesadas, los artistas y los estrategas no pueden evitar hablar sobre el diseño de materiales. Los desarrolladores hablan de material design, pero tal vez no por las mismas razones. Como todos los demás, comencé a salivar en el momento en que vi la presentación de Material Design en Google I/O 2014. Inmediatamente descargué la vista previa de L para poder comenzar a tener en mis manos la bondad del material. Me encontré con algunos problemas, pero me detuve porque estaba trabajando con un software preliminar.

Han pasado unos siete meses, el software ya tuvo un lanzamiento oficial e incluso una actualización puntual, y todavía me encuentro luchando con inconsistencias y API que parecen inacabadas. La semana pasada escribí en un blog sobre la propiedad de elevación y un problema frustrante que tuve para hacer funcionar la sombra paralela. Seguí golpeándome la cabeza contra las sombras dinámicas implementadas por el marco y salí con algunos puntos más dolorosos.

  1. Las sombras paralelas no se representan con botones estándar. Período. Si desea que el marco represente una sombra paralela para sus botones, deben ser ImageButtons.
  2. Como se mencionó la semana pasada, el uso de un alfa en su dibujo de fondo evitará que el marco genere sombras paralelas; parece que no hay rima o razón para esto y, lo que es más importante, no hay documentación que lo informe.
  3. El método de compatibilidad de aplicaciones ViewCompat.setElevation(View, int) parece ser inútil. En un dispositivo Android que ejecuta Lollipop o superior, obtiene la misma sombra que obtendría al configurar la propiedad de elevación. En un dispositivo anterior a Lollipop, el método parece no hacer nada más que permitirle recuperar esa elevación más tarde usando ViewCompat.setElevation(View).
  4. Hay una excepción interesante a la regla número tres: ViewCompat.setElevation parece generar sombras cuando se usa junto con la aplicación habilitada para CardView. Son inconsistencias como estas las que les cuestan a los desarrolladores muchas horas de prueba y error.
  5. La única forma que encontré para representar sombras paralelas en elementos de la interfaz de usuario anteriores a Lollipop fue usar una lista en capas, crear una pila de sombras paralelas y asignarla al fondo del elemento. en otras palabras, de la misma manera que siempre lo han hecho los desarrolladores. A menos que su aplicación solo funcione en dispositivos Android 5.0+, para crear los efectos de sombra de hardware necesitará simularlo. Y si está fingiendo de todos modos, ¿por qué molestarse con el código condicional que solo usará llamadas Lollipop? Supongo que porque las sombras anteriores a Lollipop no son dinámicas. Esto nos lleva a mi último problema.
  6. ¡Casi no hay dispositivos de usuario que ejecuten Lollipop! No me crees ? Consulte el último conjunto de estadísticas de transmisión de Developer Console (Figura A). Lollipop ni siquiera está en la lista.

Figura A

Con tantas cosas negativas que decir sobre el diseño del hardware y Android 5.0, podrías pensar que no soy un fanático, pero nada más lejos de la realidad. Tener las especificaciones de Material Design es una gran victoria para Android. Los hermosos ejemplos que muestran lo que se puede hacer usando estas pautas son inspiradores. Siento que el carro está un poco por delante del caballo. Google ha puesto el listón muy alto para los desarrolladores, pero creo que en varios casos no ha proporcionado el conjunto completo de herramientas que necesitamos para cumplir con las expectativas de los usuarios.

Afortunadamente, Android es increíblemente flexible y transparente, lo que significa que es más que posible hacer el trabajo; no espere que sea tan simple como cargar una biblioteca de compatibilidad de aplicaciones y aplicar un nuevo tema. Diseñar bien los materiales, en esta etapa, representa un esfuerzo considerable. Asegúrese de comunicar esto a sus clientes y planifique adecuadamente.

  • Práctico con el diseño de material de Android: tema de la aplicación
  • Material Design: 10 aplicaciones que muestran el nuevo lenguaje de interfaz de usuario de Google
  • El diseño de hardware de Android llega a Linux
  • Android Lollipop Material Design Trick ofrece una experiencia de usuario más refinada