Conseguenze di Google I / O 2017 cosa c'è di nuovo in Android Wear?

In questa serie di suggerimenti, abbiamo esaminato più da vicino alcune delle nuove funzioni e strumenti Android annunciati durante l'I / O di Google di quest'anno.

In questo post, ci concentreremo su Android Wear. 

Google ha fornito componenti di Android Wear UI tramite una libreria di supporto indossabile dedicata per un po 'di tempo, ma questo sta per cambiare! 

All'evento di quest'anno, Google ha annunciato che i vari componenti che compongono la libreria di supporto indossabile saranno deprecati, uniti o migrati nella libreria di supporto Android. In questo articolo, daremo un'occhiata a quali componenti verranno uniti, spostati e rimossi e come iniziare a utilizzare il nuovo modulo Wear della Libreria di supporto Android. oggi

Analizzeremo anche alcuni nuovi strumenti progettati per semplificare il lavoro con l'API Complicazioni di Android Wear.

Nuova libreria UI di Android Wear 

All'Io di Google di quest'anno, il team di Android Wear ha annunciato che la maggior parte della libreria di supporto indossabile si sta spostando nella libreria di supporto Android. I componenti specifici di Wear costituiranno la base di un nuovo modulo di supporto-usura, simile ad altri moduli nella libreria di supporto Android, come ad esempio Supporto-recylerview e Supporto-design

Secondo le sessioni di Android Wear su Google I / O, possiamo aspettarci che questo nuovo modulo Wear si formi fuori dalla beta contemporaneamente al lancio ufficiale di Android O.

Tuttavia, no tutti i componenti della Wearable Support Library passeranno alla libreria di supporto Android. Google ha anche annunciato che alcuni componenti della Wearable Support Library saranno:

  • Fusione. I componenti applicabili sia ai dispositivi indossabili che a quelli palmari verranno uniti nel framework Android o in altri moduli di supporto generici. I componenti che devono essere uniti includono CircledImageView, DelayedConfirmationView, e ActionButton.

  • deprecato. Google deprecherà i componenti dell'interfaccia utente di Android Wear associati a modelli di progettazione che non sono stati apprezzati dagli utenti di Android Wear. In particolare, Google rimuoverà il modello spaziale bidimensionale che consente agli utenti di Android Wear di spostarsi orizzontalmente e verticalmente e lo sostituirà con un verticale LinearLayout. Tutte le classi associate al modello spaziale bidimensionale saranno deprecate, incluso GridViewPager, pulsanti di azione e layout di azioni.

Sebbene questa migrazione sia un processo in corso, Google ha già integrato alcuni componenti Android Wear nella versione 26.0.0 Beta1 della Libreria di supporto Android.

  • BoxInsetLayout: Questo è uno schermo sensibile alla forma FrameLayout ciò può aiutarti a progettare un layout unico che funzioni sia per quadranti quadrati che rotondi. Quando il layout è visualizzato su uno schermo rotondo, a BoxInsetLayout inscatolerà tutti i suoi bambini in un quadrato immaginario al centro dello schermo circolare. Puoi specificare in che modo gli elementi dell'interfaccia utente verranno posizionati in questo quadrato centrale, utilizzando il comando layout_box attributo. Quando la tua app viene visualizzata su una schermata quadrata, Android ignora il file layout_box attributo e utilizza un riquadro di zero pari a zero, quindi le tue visualizzazioni saranno posizionate come se fossero all'interno di un normale FrameLayout.

  • SwipeDismissFrameLayoutQuesto è un layout che puoi usare per implementare interazioni personalizzate per il tuo vistas e frammenti. Generalmente userai SwipeDismissFrameLayout per consentire agli utenti di ignorare viste e frammenti facendo scorrere sullo schermo, essenzialmente replicando la funzionalità di Indietro pulsante trovato su smartphone e tablet Android.

  • WearableRecyclerViewQuesta è un'implementazione specifica di Wearable RecyclerView che ti aiuta a progettare layout più efficaci per display rotondi. Il WearableRecyclerView rende più efficace l'uso della curvatura di uno schermo rotondo, ed è tipicamente usato per implementare liste curve. WearableRecyclerView ti dà anche la possibilità di utilizzare i movimenti circolari di scorrimento nella tua app, tramite la sua setCircularScrollingGestureEnabled () metodo.

Aggiunta del nuovo modulo Android Wear 

Per iniziare a utilizzare il nuovo modulo Android Wear, devi disporre di Android Support Library 26.0.0 Beta1, che ci porta a un altro annuncio I / O Google.

All'evento di quest'anno, Google ha annunciato che distribuirà tutte le versioni future della libreria di supporto Android (26.0.0 Beta1 e versioni successive) tramite il repository Google Maven solo.

Il download della libreria di supporto Android da questo repository richiede semplicemente di aggiungere il repository di Google Maven al tuo build.gradle file: 

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

Puoi quindi impostare le tue dipendenze di compilazione come al solito, quindi apri i tuoi moduli indossabili build.gradle file e aggiungi la libreria Wear come dipendenza del progetto:

dependencies compile fileTree (dir: 'libs', include: ['* .jar']) // Aggiungi il seguente // compile 'com.android.support:wear:26.0.0-beta1'

Per aggiungere un componente dalla libreria dell'interfaccia utente di Android Wear all'interfaccia utente, apri semplicemente il file di risorse di layout e assicurati di utilizzare il nuovo nome di pacchetto completo. Essenzialmente, questo significa sostituire android.support.wearable.view con android.support.wear.widget. Ad esempio, qui sto usando il BoxInsetLayout classe dalla libreria di supporto Android:

     

Per importare questa classe nel tuo file Java, devi solo usare lo stesso nome, quindi il vecchio:

import android.support.wearable.view.BoxInsetLayout;

Diventa il nuovo:

import android.support.wear.widget.BoxInsetLayout;

Più facile integrazione con l'API di Complicazioni 

Gli utenti di Android Wear possono scegliere tra un'enorme varietà di stili di quadranti e, sebbene l'API di Complication fornisca ai quadranti il ​​controllo completo su come questi dati vengono disegnati, questa flessibilità può rendere difficile l'aggiunta del supporto per le complicazioni ai quadranti degli orologi. 

All'Io di Google di quest'anno, il team di Android Wear ha introdotto alcune aggiunte che dovrebbero semplificare il lavoro con l'API di Complicazione.

ComplicationDrawable

ComplicationDrawable è una nuova soluzione che promette di gestire tutti gli stili e il layout delle tue complicazioni per te. 

Se crei a ComplicationDrawable ma non impostare alcun parametro di stile, quindi si otterrà un aspetto predefinito, ma è anche possibile utilizzare il ComplicationDrawable per modellare ogni parte della tua complicazione, compreso il colore dello sfondo, il raggio dell'angolo e il bordo. 

Se il tuo progetto ha come target API 24 o superiore, puoi definire a ComplicationDrawable oggetto creando un file di risorse di layout dedicato nel progetto / Res / drawable cartella. 

Apri il tuo file XML, quindi crea un ComplicationDrawable usando i seguenti tag:   

 

Tieni presente che gli attributi definiti al livello più alto si applicano sia alle modalità standard che a quelle ambientali, a meno che non si sovrascrivano specificamente questi attributi nel file sezione.

È quindi necessario passare i dati di complicazione al proprio drawable:  

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

E infine, attira la tua complicazione chiamando setBounds sul tuo drawable:

@Override public void onDraw (Canvas canvas, Rect bounds) if (haveChanged (bounds)) myComplicationDrawable.setBounds (complicationBoundsWithin (bounds));  // Chiama il disegno su ComplicationDrawable // myComplicationDrawable.draw (canvas, currentTimeMillis); ...

TextRenderer

La maggior parte delle complicazioni include alcune forme di testo e TextRenderer è una nuova classe che compie una serie di piccoli ma potenti adattamenti al modo in cui il testo della complicazione viene disegnato sulla tela.

Puoi usare TextRenderer per specificare i limiti con cui il testo della complicazione deve lavorare, e TextRenderer ridimensionerà il testo o lo sistemerà su più righe, in modo da adattarlo a quest'area. Inoltre, quando lo schermo entra nella modalità ambiente "sempre attivo" di Android Wear, TextRenderer regola il testo nascondendo caratteri e stili che non sono adatti per questa modalità. 

Per approfittare di questa nuova classe, devi creare un TextRenderer quando si inizializza il quadrante dell'orologio e poi lo si passa TextPaint che vuoi usare, che definisce gli attributi di stile come il carattere e il colore del testo:

@Override public void onCreate (titolare di SurfaceHolder) ... myTextRenderer = new TextRenderer (); myTextRenderer.setPaint (myTextPaint (TextPaint);

Devi creare un TextRenderer per ogni campo, quindi dovrai anche creare un TextRenderer per il tuo testo del titolo:

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

Quando è il momento di disegnare, dovrai impostare il testo sul renderer chiamando setText, e quindi recuperare il testo chiamando getText

public void onDraw (Canvas canvas, Rect bounds) ... myTextRenderer.setText (myComplicationText.getText (Context, data.getShortText (), currentTimeMillis)); myTextRenderer.draw (canvas, bounds); ... 

Si noti che molte complicazioni dipendono dal tempo, motivo per cui currentTimeMillis è incluso nello snippet di codice precedente.

Conclusione

In questo articolo, abbiamo esaminato come aggiungere la nuova libreria UI di Android Wear al tuo progetto e come iniziare a lavorare con un numero di componenti di questa libreria oggi. Abbiamo anche esaminato due componenti che promettono di rendere l'integrazione con l'API di Complicazioni di Android Wear molto più semplice di quanto non fosse in precedenza.

Nella prossima puntata, avremo un'anteprima delle nuove funzionalità di Android 3.0, esplorando l'ultima versione di Android Studio Canary.

Nel frattempo, dai un'occhiata ad alcuni dei nostri altri tutorial e ai nostri corsi video sullo sviluppo di app per Android!