W Androidzie 17 i nowszych wersjach skalowalny interfejs użytkownika w przypadku powiadomień heads-up (HUN) umożliwia dostosowywanie zarządzania oknami (pozycjonowanie, tło, animacje) paneli HUN za pomocą platformy skalowalnego interfejsu użytkownika z nakładkami zasobów w czasie działania (RRO). Ta funkcja umożliwia kontrolowanie kontenera powiadomienia bez wpływu na renderowanie treści wewnętrznych.
Implementacja
Wdrożenie skalowalnego interfejsu w przypadku jednostek HUN obejmuje te działania:
- Publiczne i systemowe interfejsy API: wprowadza klasę
HunWindowi logikę parsowania tagów XML<HunPanel>w parserach skalowalnego interfejsu. - Wdrożenie przez partnera:
- Zdefiniuj niestandardową nakładkę RRO.
- Aby utworzyć plik XML (np.
res/xml/hun_panel.xml), użyj tagu głównego<HunPanel>. - Zdefiniuj elementy
<Variant>, aby kontrolować granice, grawitację (TOPlubBOTTOM), widoczność i tło (rysunek zasłony). - Mapuj warianty na zdarzenia systemowe (np.
_System_Show_Panel) za pomocą funkcji<Transitions>.
- Nowe urządzenia a urządzenia z aktualizacją: jest to zmiana konfiguracji wprowadzona przez organizacje RRO. Aby zaktualizować urządzenia i otrzymać nowy obraz systemu, utwórz odpowiedni RRO, aby zdefiniować zachowanie HUN. Dzięki temu użytkownicy mogą odbiegać od ustawień domyślnych.
- Włączanie i wyłączanie: aby włączyć lub wyłączyć tę funkcję, dodaj lub usuń
@xml/hun_panelz konfiguracjiwindow_states. - Ustawienia domyślne: zmień ustawienia domyślne, stosując własny pakiet RRO, który zastępuje domyślną konfigurację systemu.
Wymagania i weryfikacja
Aby przetestować włączanie i wyłączanie nakładek, wykonaj te czynności:
adb shell cmd overlay disable --user current com.example.overlay.scalableUI.hun.bottom
Jeśli włączysz lub wyłączysz RRO, numer HUN będzie wyświetlany odpowiednio u dołu lub u góry.
Ręczne sprawdzanie poprawności
- Pozycjonowanie: sprawdź, czy HUN-y pojawiają się w określonym miejscu (
TOPlubBOTTOM) i w określonych granicach. - Interakcje: sprawdź, czy działa przesuwanie w celu zamknięcia (jeśli nie można zamknąć, sprawdź, czy działa przycisk).
- Animacje: sprawdź animacje przejścia między stanem otwartym a zamkniętym.