Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial
  • Lezione 92 di 97
  • livello avanzato
Indice lezioni

Adaptive Icons

Le Adaptive Icons, introdotte a partire dalla versione 8 di Android, permettono di gestire in modo adattivo le icone su display di varia forma.
Le Adaptive Icons, introdotte a partire dalla versione 8 di Android, permettono di gestire in modo adattivo le icone su display di varia forma.
Link copiato negli appunti

La versione 8 di Android (API di livello 26) ha introdotto, tra le altre cose, le Adaptive Icons, un nuovo modo di fornire icone per l'app in grado di adattarsi più facilmente al dispositivo e di supportare diversi effetti visivi in risposta alle azioni dell'utente.

Icone di questo genere vengono conservate, come di consueto, all'interno della cartella di risorse
mipmap, ma ciò che fa la differenza è il modo in cui vengono progettate. Queste le caratteristiche:

  • ogni icona è costituita da due livelli, uno in foreground e uno in background;
  • la dimensione di entrambi i livelli è di 108dp, sia in altezza sia in larghezza;
  • 18dp di ognuno dei quattro lati viene riservato per effetti visivi dell'icona come parallasse e risposta alla pressione.

Come creare icone adattive

Utilizzando Adaptive Icons dovremo anche provvedere alternative per supportare le versioni del sistema precedenti alle API 26, una sorta di modalità "legacy".

L'icona deve essere inserita nel file AndroidManifest.xml, all'interno del nodo <application>:

<application
android:icon="@mipmap/ic_launcher"
android:roundIcon="@mipmap/ic_launcher_round"
...
...
>

Si noti che sono stati utilizzati due attributi: icon per impostare l'icona e roundIcon, destinata alle versioni di sistema che permettono icone rotonde. Entrambi gli attributi chiamano in causa risorse di tipo mipmap e indirettamente, come vedremo, risorse
drawable.

Figura 1. Risorse coinvolte nella gestione di Adaptive Icons (click per ingrandire)

Risorse coinvolte nella gestione di Adaptive Icons

Si osservi in proposito che le risorse indicate sono in formato XML e PNG ma rappresentano tutte delle immagini. La differenza consiste
nell'approccio in cui vengono coinvolte: le prime (quelle XML) rientrano nell'uso delle Adaptive Icons, utilizzato dalle API 26 a seguire, le seconde (file PNG) rispondono a esigenze di compatibilità con le versioni precedenti. Per avere conferma dell'adattabilità del nuovo approccio, è sufficiente notare che i file PNG esistono in versioni multiple, una per ogni livello di densità mentre i file XML sono etichettati come anydpi-v26, pertanto validi per ogni tipo di display purchè il sistema operativo sia almeno la versione 8 di Android.

Adaptive Icons in dettaglio

Entrando nei dettagli, i file ic_launcher.xml e ic_launcher_round.xml hanno il seguente contenuto:

<?xml version="1.0" encoding="utf-8"?>
<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
<background android:drawable="@drawable/ic_launcher_background" />
<foreground android:drawable="@drawable/ic_launcher_foreground" />
</adaptive-icon>

In realtà, essi sono un collegamento a ciò che troviamo tra le risorse drawable, le due immagini progettate in XML che costituiranno lo sfondo (background) e la parte frontale (foreground) dell'icona.

Le risorse da impiegare possono essere prodotte internamente ad Android Studio, che offre due strumenti, accessibili direttamente tramite menu: Image Asset e Vector Asset.

Figura 2. Image Asset e Vector Asset in Android Studio (click per ingrandire)

Image Asset e Vector Asset in Android Studio

Con Image Asset possiamo creare delle icone per l'app partendo da icone material, stringhe o immagini proprie. Scegliendo una voce nel menu a tendina Icon type si può specificare se si è interessati alla produzione di icone Adaptive, legacy o entrambe. Tutte le immagini saranno realizzate nel numero di copie necessarie per compatilità con le versioni di display in circolazione. La struttura a scheda permette di agire sui vari livelli dell'icona.

Figura 3. Pannello principale di Image Asset (click per ingrandire)

Pannello principale di Image Asset

Vector Asset è un altro strumento che aiuta a predisporre immagini ed icone partendo da material icon o da file locali in formato SVG o PSD. Grazie a questo tool avremo icone vettoriali pronte ad adattarsi ad ogni circostanza.

Figura 4. Pannello principale di Vector Asset (click per ingrandire)

Pannello principale di Vector Asset

Si ricordi infine che con Image Asset e Vector Asset si potranno produrre, oltre alle icone per il launcher, anche altre di vario genere, da destinare a menu e notifiche.

Ti consigliamo anche