Consecuencias de Google I / O 2017 ¿Qué hay de nuevo en Android Wear?

En esta serie de sugerencias, hemos analizado más detenidamente algunas de las nuevas funciones y herramientas de Android anunciadas en Google I / O de este año..

En este post, nos centraremos en Android Wear.. 

Google ha estado proporcionando componentes de la IU de Android Wear a través de una Biblioteca de Soporte Portátil dedicada desde hace un tiempo, pero todo esto está a punto de cambiar.! 

En el evento de este año, Google anunció que los diversos componentes que conforman la Biblioteca de Soporte Portátil serán desaprobados, combinados o migrados a la Biblioteca de Soporte Android. En este artículo, veremos qué componentes se fusionarán, moverán y eliminarán, y cómo puede comenzar a usar el nuevo módulo Wear de la Biblioteca de soporte de Android. hoy

También veremos algunas herramientas nuevas que están diseñadas para facilitar el trabajo con la API de complicaciones de Android Wear.

Nueva Android UI Library 

En el Google I / O de este año, el equipo de Android Wear anunció que la mayor parte de la Biblioteca de Soporte Portátil se está moviendo a la Biblioteca de Soporte de Android. Los componentes específicos de desgaste formarán la base de un nuevo módulo de desgaste de soporte, similar a otros módulos en la biblioteca de soporte de Android, como apoyo-recylerview y diseño de soporte

De acuerdo con las sesiones de Android Wear en Google I / O, podemos esperar que este nuevo módulo Wear se salga de la versión beta al mismo tiempo que se lanza oficialmente Android O.

Sin embargo, no todos los componentes de la Biblioteca de Soporte de Wearable se moverán a la Biblioteca de Soporte de Android. Google también anunció que algunos componentes de la biblioteca de soporte portátil serán:

  • Fusionado. Los componentes que se aplican tanto a dispositivos portátiles como a dispositivos de mano se fusionarán en el marco de Android o en módulos de soporte más genéricos. Los componentes que se deben fusionar incluyen CircledImageView, DelayedConfirmationView, y Botón de acción.

  • Obsoleto. Google va a desaprobar los componentes de la interfaz de usuario de Android Wear asociados con los patrones de diseño que no han demostrado ser populares entre los usuarios de Android Wear. Específicamente, Google eliminará el modelo espacial bidimensional que permitió a los usuarios de Android Wear moverse horizontal y verticalmente, y lo reemplazará con una vertical LinearLayout. Todas las clases asociadas con el modelo espacial bidimensional quedarán en desuso, incluidas GridViewPager, botones de acción, y diseños de acción.

Aunque esta migración es un proceso continuo, Google ya ha integrado algunos componentes de Android Wear en la versión 26.0.0 Beta1 de la biblioteca de soporte de Android..

  • BoxInsetLayout: Esta es una pantalla que reconoce la forma. FrameLayout Eso puede ayudarlo a diseñar un diseño único que funcione tanto para cuadradas como para caras redondas. Cuando su diseño se muestra en una pantalla redonda, un BoxInsetLayout encajonará a todos sus hijos en un cuadrado imaginario en el centro de la pantalla circular. Puede especificar cómo se colocarán sus elementos de UI en esta plaza central, utilizando el layout_box atributo. Cuando su aplicación se muestra en una pantalla cuadrada, Android ignora la layout_box Atribuye y usa una inserción de ventana de cero, por lo que tus vistas se posicionarán como si estuvieran dentro de un elemento regular FrameLayout.

  • SwipeDismissFrameLayoutEste es un diseño que puede utilizar para implementar interacciones personalizadas para su Vers y fragmentos. Generalmente usarás SwipeDismissFrameLayout para permitir a los usuarios descartar vistas y fragmentos al deslizar en la pantalla, esencialmente replicando la funcionalidad del Espalda botón encontrado en teléfonos inteligentes y tabletas Android.

  • WearableRecyclerViewEsta es una implementación específica de Wearable de RecyclerView Eso te ayuda a diseñar diseños más efectivos para pantallas redondas. los WearableRecyclerView hace un uso más efectivo de la curvatura de una pantalla redonda, y se usa normalmente para implementar listas curvas. WearableRecyclerView También le da la opción de utilizar gestos de desplazamiento circular en su aplicación, a través de su setCircularScrollingGestureEnabled () método.

Añadiendo el nuevo módulo Android Wear 

Para comenzar a utilizar el nuevo módulo Android Wear, deberá tener instalada la biblioteca de soporte de Android 26.0.0 Beta1, lo que nos lleva a otro anuncio de Google I / O.

En el evento de este año, Google anunció que distribuiría todas las próximas versiones de la Biblioteca de soporte de Android (26.0.0 Beta1 y superior) a través del repositorio de Google Maven. solamente.

La descarga de la biblioteca de soporte de Android desde este repositorio simplemente requiere que agregue el repositorio de Google Maven a su construir.gradle expediente: 

repositorios maven url 'https://maven.google.com' jcenter ()

Luego puede configurar sus dependencias de compilación como de costumbre, así que abra los módulos portátiles construir.gradle archivo y agregue la biblioteca de desgaste como una dependencia de proyecto:

dependencias compile fileTree (dir: 'libs', include: ['* .jar']) // Agregue el siguiente // compile 'com.android.support:wear:26.0.0-beta1'

Para agregar un componente de la biblioteca de la IU de Android Wear a su IU, simplemente abra el archivo de recursos de diseño y asegúrese de usar el nombre del paquete nuevo y completamente calificado. Esencialmente, esto significa reemplazar android.support.wearable.view con android.support.wear.widget. Por ejemplo, aquí estoy usando el BoxInsetLayout clase de la biblioteca de soporte de Android:

     

Para importar esta clase a su archivo Java, solo necesita usar el mismo nombre, por lo que el anterior:

importar android.support.wearable.view.BoxInsetLayout;

Se convierte en lo nuevo:

importar android.support.wear.widget.BoxInsetLayout;

Integración más fácil con la API de complicaciones 

Los usuarios de Android Wear pueden elegir entre una gran variedad de estilos de caras de relojes, y aunque la API Complications le da a las caras de los relojes un control completo sobre la forma en que obtienen estos datos, esta flexibilidad puede dificultar la adición de soporte de complicaciones a las caras de sus relojes.. 

En el Google I / O de este año, el equipo de Android Wear introdujo algunas adiciones que deberían facilitar el trabajo con la API Complication.

ComplicaciónDibujable

ComplicaciónDibujable es una nueva solución que promete manejar todo el estilo y diseño de su complicación por usted. 

Si creas un ComplicaciónDibujable pero no establezca ningún parámetro de estilo, entonces obtendrá un aspecto predeterminado, pero también puede usar el ComplicaciónDibujable para diseñar cada parte de su complicación, incluido el color de fondo, el radio de la esquina y el borde. 

Si su proyecto apunta a API 24 o superior, entonces puede definir un ComplicaciónDibujable objeto mediante la creación de un archivo de recursos de diseño dedicado en su proyecto / res / drawable carpeta. 

Abra su archivo XML, y luego cree un ComplicaciónDibujable usando las siguientes etiquetas:   

 

Tenga en cuenta que los atributos definidos en el nivel superior se aplican tanto a los modos estándar como a los de ambiente, a menos que los anule específicamente en los atributos del archivo. sección.

A continuación, debe pasar los datos de complicaciones a su dibujable:  

@Override public void onComplicationDataUpdate (int id, ComplicationData data) myComplicationDrawable.setComplicationData (data); 

Y por último, dibuja tu complicación llamando. setBounds en su dibujable:

@Override public void onDraw (lienzo, límites Rect) if (haveChanged (lines)) myComplicationDrawable.setBounds (complicationBoundsWithin (lines));  // Call draw en ComplicationDrawable // myComplicationDrawable.draw (canvas, currentTimeMillis);…

TextRenderer

La mayoría de las complicaciones incluyen algún tipo de texto, y TextRenderer es una nueva clase que realiza una serie de pequeños pero poderosos ajustes en la forma en que se dibuja el texto de la complicación en el lienzo.

Puedes usar TextRenderer para especificar los límites con los que debe trabajar su texto de complicación, y TextRenderer luego cambiará el tamaño del texto o lo organizará en varias líneas para que se ajuste a esta área. Además, cuando la pantalla ingresa en el modo ambiente "siempre encendido" de Android Wear, TextRenderer ajusta el texto ocultando caracteres y estilos que no son adecuados para este modo. 

Para aprovechar esta nueva clase, necesita crear un TextRenderer cuando inicialice la carátula del reloj y luego pásela TextPaint que desea utilizar, que define atributos de estilo como la fuente y el color del texto:

@Override public void onCreate (titular de SurfaceHolder) … myTextRenderer = new TextRenderer (); myTextRenderer.setPaint (myTextPaint (TextPaint);

Necesitas crear un TextRenderer para cada campo, por lo que también deberá crear un TextRenderer para el texto de su título:

myTitleRenderer = new TextRenderer (); myTitleRenderer.setPaint (myTitlePaint);…

Cuando sea el momento de dibujar, deberá configurar el texto en el renderizador llamando setText, y luego recuperar el texto llamando getText

public void onDraw (lienzo de lienzo, límites Rect) … myTextRenderer.setText (myComplicationText.getText (Context, data.getShortText (), currentTimeMillis)); myTextRenderer.draw (lienzo, límites);… 

Tenga en cuenta que muchas complicaciones dependen del tiempo, razón por la cual currentTimeMillis está incluido en el fragmento de código anterior.

Conclusión

En este artículo, analizamos cómo agregar la nueva biblioteca de la IU de Android Wear a su proyecto y cómo puede comenzar a trabajar con varios componentes de esta biblioteca hoy. También examinamos dos componentes que prometen hacer que la integración con la API de Complicaciones de Android Wear sea mucho más fácil que antes..

En la próxima entrega, obtendremos una vista previa de las nuevas características de Android 3.0, al explorar la última versión de Android Studio Canary..

Mientras tanto, consulte algunos de nuestros otros tutoriales y nuestros cursos de video sobre el desarrollo de aplicaciones para Android!