Panoramica dei widget delle app

Prova Compose
Jetpack Compose è il toolkit per la UI consigliato per Android. Scopri come creare widget utilizzando API in stile Compose.

I widget sono un aspetto essenziale della personalizzazione della schermata Home. Puoi considerarli come visualizzazioni "a colpo d'occhio" dei dati e delle funzionalità più importanti di un'app, accessibili direttamente dalla schermata Home dell'utente. Gli utenti possono spostare i widget tra i pannelli della schermata Home e, se supportato, ridimensionarli per adattare la quantità di informazioni nel widget alle loro preferenze.

Questa documentazione presenta i diversi tipi di widget che puoi creare e i principi di progettazione da seguire. Per creare un widget per l'app utilizzando le API Remote View e i layout XML, consulta Crea un widget di base. Per creare un widget utilizzando le API di stile Kotlin e Compose, consulta Jetpack Glance.

Tipi di widget

Quando pianifichi il tuo widget, pensa al tipo di widget che vuoi creare. In genere, i widget rientrano in una delle seguenti categorie:

Widget informativi

Esempio di widget meteo che mostra Tokyo come prevalentemente nuvolosa, 14 gradi e la temperatura prevista dalle 16:00 alle 19:00
Figura 1. Un widget informativo di un'app meteo.

I widget informativi in genere mostrano elementi informativi cruciali e monitorano come queste informazioni cambiano nel tempo. Esempi di widget di informazioni sono i widget meteo, i widget orologio o i widget di monitoraggio dei risultati sportivi. In genere, toccando i widget informativi si avvia l'app associata e si apre una visualizzazione dettagliata delle informazioni del widget.

Widget Raccolte

I widget di raccolta sono specializzati nella visualizzazione di più elementi dello stesso tipo, ad esempio una raccolta di immagini di un'app di galleria, una raccolta di articoli di un'app di notizie o una raccolta di email o messaggi di un'app di comunicazione. I widget di raccolta possono scorrere verticalmente.

I widget di raccolta in genere si concentrano sui seguenti casi d'uso:

  • Navigazione nella raccolta.
  • Apertura di un elemento della raccolta nella visualizzazione dei dettagli nell'app associata.
  • Interazione con gli elementi, ad esempio contrassegnandoli come completati, con il supporto dei pulsanti composti in Android 12 (livello API 31).

Widget di controllo

Un widget per un'app chiamata "Elenco luci", che mostra gli interruttori con le etichette "Camera da letto", "Cucina" e "Living Room", con i primi due interruttori disattivati
Figura 4. Esempio di widget di controllo.

Lo scopo principale di un widget di controllo è mostrare le funzioni utilizzate di frequente in modo che l'utente possa attivarle dalla schermata Home senza dover aprire l'app. Puoi considerarli come telecomandi per un'app. Un esempio di widget di controllo è un widget di controllo della casa che consente agli utenti di accendere o spegnere le luci di casa.

L'interazione con un widget di controllo potrebbe aprire una visualizzazione dei dettagli associata nell'app. Ciò dipende dal fatto che la funzione del widget di controllo restituisca o meno dati, come nel caso di un widget Ricerca.

Widget ibridi

Un'app di musica generica che mostra i pulsanti "Non mi piace", indietro, riproduci/metti in pausa, avanti e "Mi piace". L'artista e la traccia sono elencati rispettivamente come "Artista" e "Musica di esempio".
Figura 5. Esempio di widget di un'app musicale.

Sebbene alcuni widget rappresentino uno dei tipi descritti nelle sezioni precedenti (informazioni, raccolta o controllo), molti widget sono ibridi e combinano elementi di tipi diversi. Ad esempio, un widget di un lettore musicale è principalmente un widget di controllo, ma mostra anche all'utente la traccia attualmente in riproduzione, come un widget di informazioni.

Quando pianifichi il widget, progetta in base a uno dei tipi di base e aggiungi elementi di altri tipi, se necessario.

Integra i widget con l'Assistente Google

Qualsiasi tipo di widget può essere visualizzato dall'Assistente Google in risposta ai comandi vocali dell'utente. Puoi configurare i widget in modo che eseguano le Azioni app, consentendo agli utenti di ricevere risposte rapide ed esperienze con l'app interattive sulle piattaforme dell'assistente come Android e Android Auto. Per maggiori dettagli sul fulfillment dei widget per l'assistente, consulta Integra le Azioni app con i widget Android.

Limitazioni dei widget

Sebbene i widget possano essere considerati "mini app", esistono alcune limitazioni che è importante comprendere prima di progettare il widget.

Gesti

Poiché i widget si trovano nella schermata Home, devono coesistere con la navigazione stabilita lì. Questo limita il supporto dei gesti disponibile in un widget rispetto a un'app a schermo intero. Sebbene le app possano consentire agli utenti di navigare tra le schermate in orizzontale, questo gesto è già utilizzato nella schermata Home per navigare tra le schermate Home.

Gli unici gesti disponibili per i widget sono il tocco e lo scorrimento verticale.

Elementi

Date le limitazioni ai gesti disponibili per i widget, alcuni componenti di base della UI che si basano su gesti limitati non sono disponibili per i widget. Per un elenco completo dei componenti di base supportati e ulteriori informazioni sulle limitazioni dei layout, consulta Crea il layout del widget e Fornisci layout dei widget flessibili.

Linee guida per il design

Segui queste linee guida per la progettazione per creare un'esperienza di widget coinvolgente, flessibile e coerente nella schermata Home.

Contenuti del widget

I widget sono un ottimo modo per attirare un utente verso la tua app "pubblicizzando" contenuti nuovi e interessanti disponibili nella tua app.

Proprio come i teaser sulla prima pagina di un giornale, i widget consolidano e concentrano le informazioni di un'app e forniscono un collegamento a dettagli più completi all'interno dell'app. Si potrebbe dire che il widget è lo "snack" di informazioni, mentre l'app è il "pasto". Assicurati che l'app mostri più dettagli su un elemento informativo rispetto a quelli visualizzati dal widget.

Oltre ai contenuti puramente informativi, valuta la possibilità di fornire nel widget link di navigazione alle aree della tua app utilizzate di frequente. In questo modo, gli utenti possono completare le attività più rapidamente ed estendere la portata funzionale dell'app alla schermata Home.

I link di navigazione sui widget sono ideali per:

  • Funzioni generative: queste funzioni consentono all'utente di creare nuovi contenuti per un'app, ad esempio un nuovo documento o un nuovo messaggio.

  • Apri l'app al livello più alto:toccando un elemento informativo, l'utente viene solitamente indirizzato a una schermata dei dettagli di livello inferiore. Fornire l'accesso al livello superiore dell'applicazione offre una maggiore flessibilità di navigazione e può sostituire una scorciatoia dedicata che gli utenti utilizzano per accedere all'app dalla schermata Home. L'utilizzo dell'icona dell'applicazione per questa funzionalità può anche fornire al widget un'identità chiara se i dati che mostri sono ambigui.

Ridimensionamento dei widget

Widget Orologio Google standard
Figura 6. Widget Orologio Google standard.

Se tocchi e tieni premuto un widget ridimensionabile e poi lo rilasci, il widget entra in modalità di ridimensionamento. Gli utenti possono utilizzare i punti di trascinamento o gli angoli del widget per impostare le dimensioni preferite.

Il ridimensionamento consente agli utenti di regolare l'altezza e la larghezza di un widget entro i vincoli della griglia di posizionamento della schermata Home. Puoi decidere se il tuo widget è ridimensionabile liberamente o se è limitato alle modifiche delle dimensioni orizzontali o verticali. Non è necessario supportare il ridimensionamento se il widget ha dimensioni fisse.

Consentire agli utenti di ridimensionare i widget offre vantaggi importanti:

  • Possono perfezionare la quantità di informazioni che vogliono visualizzare su ogni widget.
  • Possono influenzare meglio il layout di widget e scorciatoie nei loro pannelli della casa.

Pianifica una strategia di ridimensionamento per il widget in base al tipo di widget che stai creando. I widget di raccolta basati su elenchi o griglie sono di solito semplici, perché il ridimensionamento del widget espande o contrae l'area di scorrimento verticale. Indipendentemente dalle dimensioni del widget, l'utente può comunque scorrere tutti gli elementi informativi per visualizzarli.

I widget di informazioni richiedono una pianificazione più precisa, perché non sono scorrevoli e tutti i contenuti devono rientrare in una determinata dimensione. Devi adattare dinamicamente i contenuti e il layout del widget alle dimensioni definite dall'utente tramite l'operazione di ridimensionamento.

Nell'esempio seguente, l'utente può ridimensionare un widget meteo in tre passaggi, mostrando informazioni più dettagliate sul meteo nella posizione corrente man mano che il widget si ingrandisce.

Esempio di widget meteo nella dimensione più piccola della griglia 3x2, che mostra il nome della località (Tokyo), la temperatura (14°) e il simbolo che indica il meteo parzialmente nuvoloso
Figura 7. Esempio di widget meteo in una griglia 3x2 di dimensioni "piccole".


Esempio di widget meteo di dimensioni "medie" 5x2, che include tutta la UI della griglia 3x2 più l'etichetta "prevalentemente nuvoloso" e le temperature previste dalle 16:00 alle 19:00
Figura 8. Esempio di widget meteo in una griglia 5x2 di dimensioni "medie".


Esempio di widget meteo di dimensioni "grandi" 5x4, che include tutta la UI delle dimensioni della griglia 3x2 e 5x2, oltre alle previsioni meteo da martedì a venerdì
Figura 9. Esempio di widget meteo nella dimensione "grande" della griglia 5x4.

Per ogni dimensione del widget, determina la quantità di informazioni dell'app da visualizzare. Per le dimensioni più piccole, concentrati sulle informazioni essenziali, quindi aggiungi informazioni contestuali man mano che il widget cresce in orizzontale e in verticale.

Considerazioni sul layout

È forte la tentazione di disporre i widget in base alle dimensioni della griglia di posizionamento di un dispositivo con cui sviluppi. Questa può essere un'approssimazione iniziale utile, ma tieni presente quanto segue:

  • La pianificazione della strategia di ridimensionamento dei widget in base a "bucket di dimensioni" anziché a dimensioni variabili della griglia offre i risultati più affidabili.
  • Il numero, le dimensioni e la spaziatura delle celle possono variare notevolmente da un dispositivo all'altro. Pertanto, è molto importante che il widget sia flessibile e possa occupare più o meno spazio del previsto.
  • Quando l'utente ridimensiona un widget, il sistema risponde con un intervallo di dimensioni in dp in cui il widget può ridisegnarsi.
  • A partire da Android 12, puoi fornire attributi di dimensione più precisi e layout più flessibili. Ad esempio:

Configurazione dei widget da parte degli utenti

A volte, l'utente deve configurare il widget prima di poterlo utilizzare. Pensa a un widget email in cui l'utente deve selezionare la cartella di posta prima che la posta in arrivo possa essere visualizzata o a un widget foto statico in cui l'utente deve assegnare un'immagine della galleria da visualizzare. I widget Android mostrano le opzioni di configurazione subito dopo che l'utente li ha trascinati in una schermata Home.

Elenco di controllo per la progettazione dei widget

  • Concentrati su piccole porzioni di informazioni di facile lettura nel widget. Espandi le informazioni nell'app.
  • Scegli il tipo di widget più adatto alle tue esigenze.
  • Pianifica il modo in cui i contenuti del widget si adattano alle diverse dimensioni.
  • Rendi il layout del widget indipendente dall'orientamento e dal dispositivo assicurandoti che possa espandersi e contrarsi.
  • Valuta se il widget richiede una configurazione aggiuntiva.