În această serie de sfaturi, ne uităm mai îndeaproape la unele dintre noile caracteristici și instrumente Android anunțate la Google I / O din acest an.
În acest post, ne vom concentra pe Android Wear.
Google a furnizat componentele UI Android Wear printr-o bibliotecă specială de asistență dedicată pentru o perioadă de timp, dar acest lucru este pe cale să se schimbe!
La evenimentul din acest an, Google a anunțat că diferitele componente care alcătuiesc Biblioteca de sprijin Wearable vor fi depreciate, îmbinate sau migrate în Biblioteca de suport Android. În acest articol, vom analiza componentele care urmează să fie îmbinate, mutate și eliminate și cum puteți începe să utilizați noul Modul Wear al Bibliotecii de asistență Android astăzi.
Vom analiza, de asemenea, câteva noi instrumente care sunt proiectate pentru a facilita lucrul cu API-ul Complicații Android Wear.
La Google I / O din acest an, echipa Android Wear a anunțat că cea mai mare parte a Bibliotecii de sprijin Wearable se îndreaptă către Biblioteca de asistență Android. Componentele specifice consumului vor constitui baza unui nou modul de suport, similar cu alte module din Biblioteca de suport Android, cum ar fi suport-recylerview
și sprijin-design
.
Conform sesiunilor Android Wear de la Google I / O, ne putem aștepta ca acest nou modul Wear să se abată de la beta în același timp cu lansarea oficială a aplicației Android O.
Cu toate acestea, nu toate componentele de la Biblioteca de sprijin Wearable vor face trecerea la Biblioteca de suport Android. Google a anunțat, de asemenea, că unele componente din Biblioteca Suportă suport vor fi:
fuzionată. Componentele care se aplică atât dispozitivelor portabile cât și dispozitivelor handheld vor fi integrate fie în cadrul Android, fie în mai multe module de suport generice. Componentele care urmează să fie fuzionate includ CircledImageView
, DelayedConfirmationView
, și ActionButton
.
depreciată. Google va depasi componentele UI Android Wear asociate modelelor de design care nu s-au dovedit a fi populare cu utilizatorii Android Wear. În mod specific, Google va elimina modelul spațial bidimensional care permite utilizatorilor Android Wear să se deplaseze pe orizontală și pe verticală și îl va înlocui cu un verticale LinearLayout
. Toate clasele asociate modelului spațial bidimensional vor fi depreciate, inclusiv GridViewPager
, butoanele de acțiune și machetele de acțiuni.
Deși această migrare este un proces continuu, Google a integrat deja unele componente Android Wear în versiunea 26.0.0 Beta1 a Bibliotecii de suport Android.
BoxInsetLayout
: Acesta este un ecran cu aspect FrameLayout
care vă pot ajuta să creați un singur aspect care să funcționeze atât pentru chipurile pătrat cât și pentru cele rotunde. Când aspectul dvs. este afișat pe un ecran rotund, a BoxInsetLayout
va încadra toți copiii într-un pătrat imaginar din centrul ecranului circular. Puteți specifica modul în care elementele dvs. UI vor fi poziționate în acest centru, folosind layout_box
atribut. Când aplicația este afișată pe un ecran pătrat, Android ignoră layout_box
atributul și utilizează o insulă de fereastră de zero, deci opiniile dvs. vor fi poziționate ca și cum ar fi în interiorul unui obișnuit FrameLayout
.
SwipeDismissFrameLayout
: Acesta este un aspect pe care îl puteți utiliza pentru a implementa interacțiunile personalizate pentru dvs. Vedere
s și fragmente. Veți folosi în general SwipeDismissFrameLayout
pentru a permite utilizatorilor să elimine vizualizările și fragmentele prin deplasarea pe ecran, repetând în esență funcționalitatea Înapoi buton pe smartphone-uri și tablete Android.
WearableRecyclerView
: Aceasta este o implementare specifică la uzură RecyclerView
care vă ajută să proiectați machete mai eficiente pentru afișaje rotunde. WearableRecyclerView
face o utilizare mai eficientă a curburii unui ecran rotund și este de obicei folosită pentru a implementa liste curbe. WearableRecyclerView
de asemenea, vă oferă opțiunea de a utiliza gesturi de defilare circulară în aplicația dvs., prin intermediul acesteia setCircularScrollingGestureEnabled ()
metodă.
Pentru a începe să utilizați noul modul Android Wear, va trebui să aveți instalată Biblioteca de asistență Android 26.0.0 Beta1, care ne va duce la un alt anunț Google I / O.
La evenimentul din acest an, Google a anunțat că va distribui toate versiunile viitoare ale Bibliotecii de suport Android (26.0.0 Beta1 și peste) prin intermediul repozitorului Google Maven numai.
Descărcarea Bibliotecii de asistență Android de la acest depozit necesită pur și simplu adăugarea depozitului Google Maven la dvs. build.gradle fişier:
repositore maven url 'https://maven.google.com' jcenter ()
Apoi, puteți configura dependențele dvs. de compilare ca de obicei, deschideți astfel modulul portabil build.gradle fișier și adăugați biblioteca Wear ca dependență de proiect:
dependență compile fileTree (dir: 'libs', include: ['* .jar']) // Adăugați următoarea // compile 'com.android.support:wear:26.0.0-beta1'
Pentru a adăuga o componentă din biblioteca UI Android Wear în interfața dvs. utilizator, deschideți pur și simplu fișierul cu resurse de aspect și asigurați-vă că utilizați noul nume de pachet complet calificat. În esență, aceasta înseamnă înlocuirea android.support.wearable.view
cu android.support.wear.widget
. De exemplu, aici folosesc BoxInsetLayout
clasă din Biblioteca de asistență Android:
Pentru a importa această clasă în fișierul Java, trebuie doar să utilizați același nume, astfel încât vechea:
importă android.support.wearable.view.BoxInsetLayout;
Devine noul:
importă android.support.wear.widget.BoxInsetLayout;
Utilizatorii Android Wear pot alege dintr-o mare varietate de stiluri de fețe de ceas și, deși API-ul Complications nu oferă controlul deplin asupra modului în care desenează aceste date, această flexibilitate poate face dificilă adăugarea de complicații pentru fețele dvs. de ceas.
La Google I / O din acest an, echipa Android Wear a introdus câteva adăugiri care ar trebui să facă mai ușor să lucreze cu API-ul de Complicare.
ComplicationDrawable
este o soluție nouă care promite să se ocupe de toate stilul și aspectul complicațiilor dvs. pentru dvs..
Dacă creați un ComplicationDrawable
dar nu stabiliți parametri de stil, atunci veți obține un aspect prestabilit, dar puteți utiliza și ComplicationDrawable
pentru a modela fiecare parte a complicației dvs., inclusiv culoarea de fundal, raza de colț și granița.
Dacă proiectul vizează API 24 sau o versiune ulterioară, puteți defini a ComplicationDrawable
obiect, creând un fișier de resurse dedicat în proiectul dvs. / Res / drawable pliant.
Deschideți fișierul XML, apoi creați un ComplicationDrawable
folosind următoarele etichete:
Rețineți că atributele definite la nivelul superior se aplică atât modurilor standard, cât și celor ambientale, cu excepția cazului în care specificați aceste atribute în fișierele respective
secțiune.
Apoi, trebuie să transmiteți datele de complicație la dispozitivul de tracțiune:
@Override publice void onComplicationDataUpdate (int id, date de complicareData) myComplicationDrawable.setComplicationData (data);
Și în cele din urmă, trageți-vă complicația apelând setBounds
pe desenul tău:
@Override public void peDraw (canvas Canvas, limite Rect) if (haveChanged (bounds)) myComplicationDrawable.setBounds (complicationBoundsWithin (limite)); // Apelați apelul pe ComplicationDrawable // myComplicationDrawable.draw (canvas, currentTimeMillis); ...
Cele mai multe complicații includ o formă de text și TextRenderer
este o clasă nouă care face o serie de ajustări mici, dar puternice la modul în care textul de complicație este tras pe pânză.
Poți să folosești TextRenderer
pentru a specifica limitele la care trebuie să lucreze textul cu complicații și TextRenderer
va redimensiona textul sau îl va aranja pe mai multe rânduri, pentru a se potrivi acestei zone. În plus, când ecranul intră în modul ambiental "întotdeauna în funcțiune" al Android Wear, TextRenderer
ajustează textul ascunzând caractere și stil care nu sunt potrivite pentru acest mod.
Pentru a profita de această nouă clasă, trebuie să creați o TextRenderer
când inițializați fața ceasului, apoi treceți-l TextPaint
pe care doriți să o utilizați, care definește atributele stilului, cum ar fi fontul și culoarea textului:
@Override public void onCreate (Suportul suportului de suprafață) ... myTextRenderer = TextRenderer nou (); myTextRenderer.setPaint (myTextPaint (TextPaint);
Trebuie să creați o TextRenderer
pentru fiecare câmp, deci va trebui să creați și o TextRenderer
pentru textul titlului:
myTitleRenderer = TextRenderer nou (); myTitleRenderer.setPaint (myTitlePaint); ...
Când este timpul să desenați, va trebui să setați textul pe redare apelând setText
, și apoi preluați textul prin apelare getText
:
public void onDraw (canvas Canvas, limite Rect) ... myTextRenderer.setText (myComplicationText.getText (Context, data.getShortText (), currentTimeMillis)); myTextRenderer.draw (canvas, bounds); ...
Rețineți că multe complicații sunt dependente de timp, motiv pentru care currentTimeMillis
este inclus în fragmentul de cod de mai sus.
În acest articol, ne-am uitat la modul de adăugare a noii Biblioteci UI Android Wear în proiectul dvs. și despre modul în care puteți începe să lucrați cu un număr de componente din această bibliotecă astăzi. Am examinat, de asemenea, două componente care promite să facă integrarea cu API-ul Complicații Android Wear mult mai ușor decât a fost anterior.
În următoarea tranșă, vom primi o previzualizare a caracteristicilor actualizate în versiunea Android 3.0, prin explorarea celei mai noi versiuni Android Studio Canary.
Între timp, verificați unele dintre celelalte tutoriale și cursurile noastre video de dezvoltare a aplicațiilor Android!