Implementare i pannelli di notifica Guarda avanti

In Android 17 e versioni successive, l'UI scalabile per le notifiche heads-up (HUN) consente di personalizzare la gestione delle finestre (posizionamento, sfondo, animazioni) dei riquadri HUN utilizzando il framework dell'UI scalabile con overlay delle risorse di runtime (RRO). Questa funzionalità consente di controllare il contenitore della notifica senza influire sul rendering dei contenuti interni.

Implementazione

L'implementazione dell'interfaccia utente scalabile per le unità principali comporta quanto segue:

  • API pubbliche e di sistema:introduce la classe HunWindow e la logica di analisi dei tag XML <HunPanel> all'interno degli analizzatori dell'interfaccia utente scalabile.
  • Implementazione del partner:
    • Definisci un overlay RRO personalizzato.
    • Per creare un file XML (ad esempio res/xml/hun_panel.xml), utilizza il tag radice <HunPanel>.
    • Definisci gli elementi <Variant> per controllare i limiti, la gravità (TOP o BOTTOM), la visibilità e lo sfondo (drawable scrim).
    • Mappa le varianti agli eventi di sistema (ad esempio, _System_Show_Panel) utilizzando <Transitions>.
  • Dispositivi nuovi e dispositivi sottoposti ad upgrade: questa è una modifica alla configurazione apportata dagli RRO. Per eseguire l'upgrade dei dispositivi in modo che ricevano la nuova immagine di sistema, crea un RRO appropriato per definire il comportamento di HUN. In questo modo, gli utenti possono discostarsi dal valore predefinito.
  • Attivare o disattivare:per attivare o disattivare questa funzionalità, aggiungi o rimuovi @xml/hun_panel dalla configurazione di window_states.
  • Impostazioni predefinite: modifica le impostazioni predefinite applicando il tuo RRO che override della configurazione predefinita del sistema.

Requisiti e convalida

Utilizza la seguente sequenza per testare l'attivazione e la disattivazione delle overlay:

adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom

Se attivi o disattivi l'RRO, l'HUN viene visualizzato in basso o in alto, rispettivamente.

Convalida manuale

  • Posizionamento: verifica che gli HUN vengano visualizzati in base alla gravità (TOP o BOTTOM) e ai limiti specificati.
  • Interazioni:verifica che lo scorrimento per chiudere funzioni (se non è possibile chiudere, verifica che il pulsante funzioni).
  • Animazioni:verifica le animazioni di transizione tra gli stati aperto e chiuso.