Sfat rapid Prezentarea icoanelor Adaptive Android și Shortcuts Pinned

În această serie de sfaturi rapide, ne-am uitat la unele dintre modificările viitoare ale UI pe care le puteți începe să lucrați astăzi, prin previzualizarea Android O Developer.

În această postare finală din serie, vom examina modul în care puteți crea pictograme de lansare care se integrează perfect cu interfața de utilizare extinsă a dispozitivului și cum se pot crea comenzi rapide care să permită utilizatorilor să sară direct la cele mai importante acțiuni ale aplicației, direct de la ecranul lor inițial.

Crearea de pictograme adaptive

Odată cu lansarea Android O, producătorii de echipamente originale (OEM), cum ar fi HTC și Samsung, vor avea opțiunea de a oferi o mască pe care sistemul o va aplica tuturor pictogramelor de lansare a aplicațiilor. Mastile asigura ca toate pictogramele care apar pe acel dispozitiv au aceeasi forma: daca OEM furnizeaza o masca circulara atunci toate pictogramele lansatoare de aplicatii vor fi circulare si daca ofera o masca rotunda (sau "squircle"), atunci toate icoanele vor avea rotunjite colțuri.

Aceste pictograme adaptive sunt menite să asigure un aspect mai coerent în lansatorul dispozitivului și în alte zone în care pictogramele lansatoare apar în mod proeminent, cum ar fi dispozitivele Setări și partajarea dialogurilor.

Pentru a vă asigura că pictogramele lansatorului dvs. se afișează corect, indiferent de masca utilizată, va trebui să faceți câteva ajustări.

Înainte de a începe, verificați dacă este Manifestul tău Android: icon atributul indică imaginea pe care doriți să o utilizați ca pictogramă de lansator:

Fiecare pictogramă adaptivă constă dintr-un strat de fundal, un strat prim-plan și o mască. Acesta din urmă este furnizat de OEM, dar va trebui să furnizați straturile de fundal și de prim plan. Pentru cele mai bune rezultate, aceste straturi ar trebui să fie PNG fără nici o mască sau umbre de fundal. Ambele straturi trebuie să fie 108x108 dpi, dar 72x72 dpi interior este conținutul care va apărea în fereastra de vizualizare mascată, deoarece sistemul își rezervă 36 dpi exterioară în jurul pictogramei pentru efecte vizuale, cum ar fi pulsarea sau paralaxa.

Creați fundalul și straturile primare și apoi adăugați-le în proiectul dvs. Apoi, creați un res / mipmap-anydpi / ic_launcher.xml fișier și utilizați-l pentru a face referire la cele două șabloane pe care doriți să le utilizați ca straturi de fundal și de prim plan, de exemplu:

 http://schemas.android.com/apk/res/android ">   

În funcție de designul pictogramei dvs., este posibil ca măștile circulare să poată întrerupe conținutul important. Dacă bănuiți că măștile circulare ar putea reprezenta o problemă pentru pictograma dvs., atunci puteți crea o pictogramă circulară dedicată pe care sistemul o va folosi ori de câte ori aplică o mască circulară.  

Creați această pictogramă circulară, adăugați-o proiectului dvs. și apoi trimiteți această versiune a pictogramei dvs. în Manifestul proiectului, utilizând Android: roundIcon atribut.

Pinning Shortcuts

Unele dispozitive care rulează Android vor permite utilizatorilor să pună comenzi rapide pentru aplicații la lansatorul lor. Aceste comenzi rapide apar ca pictograme separate pe care utilizatorul le lansează apăsând, exact în același mod în care interacționează cu pictogramele de lansare a aplicațiilor obișnuite.

Fiecare comandă rapidă a aplicației va face referire la una sau mai multe Intenții, fiecare lansând o acțiune specifică în cadrul aplicației dvs. Acest lucru face comenzile rapide fixate o modalitate excelentă de a permite utilizatorilor să sară la cele mai importante sarcini și conținut ale aplicației dvs. direct de pe ecranul lor inițial. De exemplu, puteți crea o comandă rapidă care duce utilizatorul la ultimul punct de salvare în aplicația dvs. de jocuri sau la cea mai frecventă persoană de contact folosită.

Nu există nicio limită a numărului de comenzi rapide fixate pe care le puteți oferi, deși pentru a vă asigura că aplicația dvs. nu prelua lansatorul utilizatorului, este recomandat să oferiți doar patru comenzi rapide la un moment dat.

Pentru a oferi una sau mai multe comenzi rapide fixate, va trebui mai întâi să creați o instanță de ShortcutManager:

ShortcutManager myShortcutManager = context.getSystemService (ShortcutManager.class);

Apoi, verificați dacă dispozitivul utilizatorului suportă de fapt comenzi rapide fixate:

dacă (mShortcutManager.isRequestPinShortcutSupported ()) 

Aceasta se întoarce ADEVĂRAT dacă acceptă lansatorul implicit requestPinShortcut.

Presupunând că dispozitivul acceptă comenzi rapide în aplicație, puteți să creați a ShortcutInfo obiect care conține un ID, o intenție și o etichetă pentru această scurtătură specială.

ShortcutInfo pinShortcutInfo = ShortcutInfo.Builder (context, "shortcut"); .setShortLabel (getString (R.string.shortcut_label)) .setLongLabel (getString (R.string.shortcut_long_label)) .setIcon (Icon.createWithResource (context, R.mipmap.ic_launcher)) .setIntent (Intent.Instance.ACTION_VIEW, Uri.parse ("https://www.google.com"))) .build ();

În cele din urmă, fixați comanda rapidă prin apelare requestPinShortcut ().Lansatorul implicit va primi această solicitare și apoi va cere utilizatorului să aprobe sau să refuze operația de fixare. Dacă aplicația trebuie să știe dacă operația de fixare a fost un succes, atunci în acest moment puteți crea și o PendingIntent obiect.

// Aici, presupunem că proiectul nostru include deja o metodă createShortcutResultIntent (), care va returna intenția de difuzare // Intent pinnedShortcutCallbackIntent = createShortcutResultIntent (pinShortcutInfo); PendingIntent succesCallback = PendingIntent.createBroadcast (context, 0, pinnedShortcutCallbackIntent); mShortcutManager.requestPinShortcut (pinShortcutInfo, succesCallback.getIntentSender ()); 

Acest PendingIntent va trimite doar a resultIntent dacă operația de fixare este un succes. Aplicația dvs. nu va primi o notificare dacă operația nu reușește.

Odată ce a fost creat codul PIN, puteți actualiza conținutul acestuia utilizând updateShortcuts () metodă. Trebuie doar să știți că conținutul sau acțiunile fixate au, de obicei, o perioadă de valabilitate. În exemplul nostru de joc, utilizatorul poate ajunge la sfârșitul jocului sau poate șterge fișierul de salvare, moment în care comanda rapidă fixată nu va avea conținut de afișat.

În timp ce este tentant să reciclați o scurtătură fixată prin modificarea scopului original, este mult mai puțin confuz pentru utilizator dacă dezactivați comenzile rapide care nu mai sunt relevante. Dacă o scurtătură fixată ajunge la sfârșitul duratei sale de viață, atunci puteți să o dezactivați apelând disableShortcuts ().

Concluzie

În această serie am analizat unele dintre actualizările interfeței de utilizator Android O pe care puteți începe să experimentați astăzi, instalând prima previzualizare pentru dezvoltatori. În prima parte, ți-am arătat cum să creezi textul pe care scara automat se bazează pe configurația actuală a ecranului; în partea a doua ne-am uitat la adăugarea de fonturi personalizate în proiectele Android și în această postare finală din seria am acoperit icoane adaptive și comenzi rapide fixate.

În timp ce sunteți aici, verificați câteva dintre celelalte postări ale noastre pentru dezvoltarea aplicațiilor Android!

Cod