Infobereiche für „Kopf hoch“-Benachrichtigungen implementieren

In Android 17 und höher können Sie mit der skalierbaren Benutzeroberfläche für Heads-up-Benachrichtigungen (HUNs) die Fensterverwaltung (Positionierung, Hintergrund-Scrim, Animationen) von HUN-Panels mithilfe des skalierbaren UI-Frameworks mit Laufzeit-Ressourcen-Overlays (RROs) anpassen. Mit dieser Funktion können Sie den Container der Benachrichtigung steuern, ohne die interne Inhaltswiedergabe zu beeinträchtigen.

Implementierung

Die Implementierung der skalierbaren Benutzeroberfläche für HUNs umfasst Folgendes:

  • Öffentliche und System-APIs: Die Klasse HunWindow und <HunPanel> XML-Tag-Parsing-Logik werden in den skalierbaren UI-Parsern eingeführt.
  • Partnerimplementierung:
    • Benutzerdefiniertes RRO-Overlay definieren.
    • Verwenden Sie das <HunPanel> Stammtag, um eine XML-Datei zu erstellen (z. B. res/xml/hun_panel.xml).
    • Definieren Sie <Variant>-Elemente, um Grenzen, Schwerkraft (TOP oder BOTTOM), Sichtbarkeit und Hintergrund (Scrim-Drawable) zu steuern.
    • Ordnen Sie Varianten mithilfe von <Transitions> Systemereignissen zu (z. B. _System_Show_Panel).
  • Neue Geräte im Vergleich zu Geräten mit Upgrade:Dies ist eine Konfigurationsänderung, die von RROs vorgenommen wird. Wenn Sie ein Upgrade für Geräte durchführen möchten, damit sie das neue System-Image erhalten, erstellen Sie ein entsprechendes RRO, um das HUN-Verhalten zu definieren. So können Nutzer vom Standard abweichen.
  • Aktivieren oder deaktivieren:Wenn Sie diese Funktion aktivieren oder deaktivieren möchten, fügen Sie @xml/hun_panel der Konfiguration window_states hinzu oder entfernen Sie sie daraus.
  • Standardeinstellungen:Ändern Sie die Standardeinstellungen, indem Sie ein eigenes RRO anwenden, das die Standardkonfiguration des Systems überschreibt.

Anforderungen und Validierung

Verwenden Sie die folgende Reihenfolge, um das Aktivieren und Deaktivieren von Overlays zu testen:

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

Wenn Sie das RRO aktivieren oder deaktivieren, wird die HUN unten bzw. oben angezeigt.

Manuelle Validierung

  • Positionierung:Prüfen Sie, ob HUNs an der angegebenen Position (TOP oder BOTTOM) und innerhalb der Grenzen angezeigt werden.
  • Interaktionen:Prüfen Sie, ob das Wischen zum Schließen funktioniert. Wenn das Schließen nicht möglich ist, prüfen Sie, ob die Schaltfläche funktioniert.
  • Animationen:Prüfen Sie die Übergangsanimationen zwischen geöffnetem und geschlossenem Zustand.