Barre di sistema Android

La barra di stato e la barra di navigazione sono chiamate barre di sistema. Questi mostrano informazioni importanti come il livello della batteria, l'ora e gli avvisi di notifica e consentono di interagire direttamente con il dispositivo da qualsiasi luogo.

È fondamentale tenere conto dell'importanza delle barre di sistema, indipendentemente dal fatto che tu stia progettando l'interfaccia utente per le interazioni con il sistema operativo Android, i metodi di inserimento o altre funzionalità del dispositivo.

Figura 1: immagini dietro le barre di sistema

Concetti principali

  • Includi le barre di sistema quando progetti l'app. Tieni conto delle zone di sicurezza dell'interfaccia utente, delle interazioni con il sistema, dei metodi di inserimento, dei ritagli del display, delle barre di stato, delle barre dei sottotitoli codificati, delle barre di navigazione e di altre funzionalità del dispositivo.

  • Mantieni trasparenti o semitrasparenti le barre di stato e di navigazione del sistema e disegna i contenuti dietro queste barre per coprire l'intero schermo.

  • Evita di aggiungere gesti di tocco o bersagli di trascinamento sotto gli inserti dei gesti, poiché entrano in conflitto con la navigazione edge-to-edge e con i gesti.

    Figura 2: rientranze dei gesti di sistema. Evita di posizionare i bersagli di tocco sotto queste aree

Disegna i contenuti dietro le barre di sistema

La funzionalità edge-to-edge consente ad Android di disegnare l'interfaccia utente sotto le barre di sistema per un'esperienza immersiva, una richiesta comune degli utenti.

Un'app può gestire le sovrapposizioni dei contenuti reagendo agli innesti. Le rientranze descrivono quanto devono essere ribattuti i contenuti dell'app per evitare sovrapposizioni con le parti dell'interfaccia utente del sistema operativo Android, come la barra di navigazione o la barra di stato, o con le funzionalità fisiche del dispositivo, come i ritagli del display. Scopri come supportare i contenuti a schermo intero e gestire gli inserti in Composizione e nelle visualizzazioni.

Tieni presente i seguenti tipi di inserimenti quando progetti per casi d'uso edge-to-edge:

  • Gli incastri delle barre di sistema si applicano all'interfaccia utente che è sia toccabile sia non deve essere nascosta visivamente dalle barre di sistema.
  • Gli insiemi di gesti di sistema si applicano alle aree di navigazione tramite gesti utilizzate dal sistema e che hanno la precedenza sulla tua app.

Barra di stato

Su Android, la barra di stato contiene icone di notifica e icone di sistema. L'utente interagisce con la barra di stato trascinandola verso il basso per accedere alla schermata delle notifiche.

Figura 3: regione della barra di stato evidenziata sopra la barra delle app superiore

Le icone della barra di stato possono essere visualizzate in modo diverso a seconda del contesto, dell'ora del giorno, delle preferenze o dei temi impostati dall'utente e di altri parametri. Puoi impostare lo stile delle icone della barra di stato come negli esempi che seguono.

Figura 4: icone della barra di stato nei temi chiaro e scuro.

Assicurati che i contenuti dell'app occupino l'intero schermo. Mantieni le barre di stato e di navigazione trasparenti o semitrasparenti con contenuti da bordo a bordo, come mostrato nell'esempio seguente.

Figura 5: un'app edge-to-edge con barre di sistema trasparenti è ideale per mettere in risalto i tuoi contenuti utilizzando la maggior parte dello spazio sullo schermo.

La modalità edge-to-edge viene applicata su Android 15 in modo che le barre di sistema siano trasparenti o traslucide per impostazione predefinita. Nelle versioni precedenti di Android, non lasciare opache le barre di sistema.

Figura 6: utilizza lo schermo da bordo a bordo per migliorare i tuoi contenuti. Non avere barre di sistema opache.

Quando arriva una notifica, nella barra di stato viene solitamente visualizzata un'icona. In questo modo, l'utente viene avvisato che c'è qualcosa da vedere nella schermata delle notifiche. Può essere l'icona o il simbolo della tua app per rappresentare il canale. Consulta Design delle notifiche.

Figura 7: icona di notifica nella barra di stato

Impostare lo stile della barra di stato

Assicurati che la barra di stato sia trasparente su tutte le versioni chiamando enableEdgeToEdge(). Assicurati di aggiornare i colori delle icone della barra di stato per il contrasto. Ad esempio, per creare icone scure:

WindowCompat.getInsetsController(window, window.decorView)
    .isAppearanceLightStatusBars = false

Mostrare i ritagli e la barra di stato

Un ritaglio del display è un'area su alcuni dispositivi che si estende nella superficie del display per fare spazio ai sensori anteriori. Può influire sull'aspetto delle barre di stato. I ritagli del display possono variare a seconda del produttore.

Scopri come supportare i ritagli del display.

Figura 8: esempi di ritagli del display

Android consente agli utenti di controllare la navigazione utilizzando i controlli Indietro, Home e Panoramica:

  • Il pulsante Indietro ti riporta direttamente alla visualizzazione precedente.
  • La schermata Home esce dall'app e passa alla schermata Home del dispositivo.
  • La panoramica mostra le app aperte e aperte di recente.

Gli utenti possono scegliere tra varie configurazioni della barra di navigazione, tra cui la navigazione tramite gesti (consigliata) e la navigazione con tre pulsanti. Per offrire la migliore esperienza, tieni conto di più tipi di navigazione.

Navigazione tramite gesti

Introdotta in Android 10 (livello API 29), la navigazione con gesti è il tipo di navigazione consigliato, anche se non puoi sostituire la preferenza dell'utente. La navigazione tramite gesti non utilizza i pulsanti Indietro, Home e Panoramica, ma mostra un singolo handle per i gesti per l'affordance. Gli utenti interagiscono scorrendo dal bordo sinistro o destro dello schermo per tornare indietro e verso l'alto dalla parte inferiore per tornare alla schermata Home. Se scorri verso l'alto e tieni premuto, si apre la panoramica.

La navigazione tramite gesti è un pattern di navigazione più scalabile per la progettazione su dispositivi mobili e schermi più grandi. Per offrire la migliore esperienza utente, tieni conto della navigazione con i gesti:

  • Supporto dei contenuti edge-to-edge.
  • Evita di aggiungere interazioni o target di tocco sotto gli inserti di navigazione con gesti.

Scopri di più sull'implementazione della navigazione tramite gesti.

Figura 9: barra di navigazione con cursore per i gesti

Navigazione con tre pulsanti

La navigazione con tre pulsanti offre tre pulsanti per Indietro, Home e Panoramica.

Figura 10: barra di navigazione con tre pulsanti

Altre varianti della barra di navigazione

A seconda della versione di Android e del dispositivo, per gli utenti potrebbero essere disponibili altre configurazioni della barra di navigazione. La navigazione con due pulsanti, ad esempio, offre due pulsanti per Home e Indietro.

Figura 11: barra di navigazione con due pulsanti

Impostare uno stile di navigazione

Assicurati che la barra di navigazione sia trasparente o traslucida su tutte le versioni chiamando enableEdgeToEdge().

Sui dispositivi con Android 15 e versioni successive o dopo aver chiamato enableEdgeToEdge(), la navigazione con i gesti è trasparente per impostazione predefinita. La navigazione con tre pulsanti è traslucida per impostazione predefinita o opaca se si trova all'interno della barra delle app su un dispositivo con schermo di grandi dimensioni.

Se la tua app ha una barra delle app in basso, imposta Window.setNavigationBarContrastEnforced() su false per assicurarti che la barra delle app in basso possa essere disegnata sotto la barra di navigazione del sistema senza che venga applicato uno scrim traslucido nella navigazione con tre pulsanti.

Android gestisce la protezione visiva dell'interfaccia utente nella modalità di navigazione con gesti e nelle modalità dei pulsanti.

  • Modalità di navigazione con gesti: il sistema applica l'adattamento dinamico dei colori, in cui i contenuti delle barre di sistema cambiano colore in base ai contenuti alle loro spalle. Nell'esempio seguente, l'handle nella barra di navigazione assume un colore scuro se è posizionato sopra i contenuti chiari e viceversa.

    Figura 12: adattamento dei colori dinamico
  • Modalità dei pulsanti: il sistema applica una maschera semitrasparente dietro le barre di navigazione dei pulsanti, che può essere rimossa impostando Window.setNavigationBarContrastEnforced() su false.

    Figura 13: adattamento dei colori dinamici, in cui le barre di sistema cambiano colore in base ai contenuti alle loro spalle

Tastiera e navigazione

Figura 14: tastiera sullo schermo con barre di navigazione

Ogni tipo di navigazione reagisce in modo appropriato alla tastiera sullo schermo per consentire all'utente di eseguire azioni come ignorare o addirittura cambiare il tipo di tastiera. Per garantire una transizione fluida della tastiera, utilizza WindowInsetsAnimationCompat per sincronizzare la transizione dell'app con la tastiera che scorre verso l'alto e verso il basso dalla parte inferiore dello schermo.

Modalità immersiva

Figura 15: modalità immersiva che mostra un'esperienza a schermo intero su un dispositivo mobile in orientamento orizzontale

Puoi nascondere le barre di sistema quando hai bisogno di un'esperienza a schermo intero, ad esempio quando l'utente sta guardando un film. L'utente dovrebbe comunque essere in grado di toccare per visualizzare le barre di sistema e l'interfaccia utente al fine di navigare o interagire con i controlli di sistema. Scopri di più sulla progettazione per le modalità a schermo intero o su come nascondere le barre di sistema per la modalità immersiva.