Aby zapewnić spójne i wysokiej jakości wrażenia użytkownika oraz zapobiec problemom, które prowadzą do niepowodzeń w Compatibility Test Suite (CTS), wdróż podstawowe zasady Menedżera okien (WM) opisane poniżej. Te zasady mają zastosowanie do:
Wersje Androida, które korzystają z architektury wielookienkowej. Została ona wprowadzona w Androidzie 14 i jest kontynuowana w Androidzie 15 z skalowalnym interfejsem.
Skalowalny interfejs Androida i własne implementacje
Stosując te zasady, możesz z wyprzedzeniem uniknąć większości problemów z zgodnością z CTS i testami funkcjonalnymi.
Terminologia
- niezmiennik
- Warunek logiczny, który pozostaje prawdziwy przez cały czas działania aplikacji i zapewnia jej integralność strukturalną. Niezmiennik działa jako reguła graniczna.
- specjalne działanie,
- Ta kluczowa aktywność aplikacji, znana też jako aktywność automatycznego interfejsu lub aktywność interfejsu systemu, ma na ekranie wydzielony obszar, który jest zawsze widoczny lub widoczny przez większość czasu, nawet gdy użytkownik naciśnie przycisk Home. Przykładem może być aplikacja do nawigacji głównej lub aplikacja klastrowa.
- standardowa aktywność,
- Każda standardowa aktywność aplikacji, która nie jest kluczowa dla podstawowego interfejsu użytkownika systemu, np. aplikacja multimedialna innej firmy uruchomiona z siatki aplikacji.
Zasady WM
Aby zmaksymalizować zgodność z CTS, stosuj te zasady w implementacjach WM.
Używanie stabilnej konfiguracji podczas uruchamiania aktywności
Każda nowa standardowa aktywność powinna być uruchamiana za pomocą pojedynczego przejścia WM, które ustawia jej ostateczną pozycję, rozmiar i gęstość. Nie wolno wywoływać drugiego przejścia, które zmienia konfigurację okna zadania bazowego (np. rozmiar lub gęstość) bezpośrednio po pierwszym, ponieważ powoduje to zmianę konfiguracji natychmiast po utworzeniu aktywności.
Przenoszenie standardowych aktywności do stanu zatrzymania
Gdy użytkownik przechodzi do zadania lub sceny głównej, musisz przenieść wszystkie uruchomione standardowe działania do stanu zatrzymania, aby zachować przewidywalny cykl życia aplikacji na Androida wymagany przez testy CTS.
Zapobieganie zasłanianiu standardowych treści dotyczących aktywności
Nie rysuj niestandardowych dekoracji ani elementów interfejsu, które zasłaniają zawartość standardowej aktywności. Jeśli rysujesz niestandardowe nakładki (np. niestandardowy pasek sterowania klimatyzacją), musisz zgłosić systemowi ich wymiary za pomocą SystemOverlay
wstawień. W przypadku Androida 15 i nowszych wersji używaj DecorPanel w skalowalnym interfejsie.
Ukrywanie nakładek w żądaniu trybu immersyjnego
Gdy aplikacja zażąda trybu pełnoekranowego, musisz ukryć wszystkie tymczasowe elementy niestandardowego interfejsu i usunąć ich wcięcia SystemOverlay. Trwałe przeszkody
zakłócają oczekiwania aplikacji dotyczące pikseli.
Stosowanie zaokrąglonych rogów tylko na poziomie wyświetlania
Zaokrąglone rogi stosuj tylko na poziomie wyświetlania, używając odpowiednich konfiguracji zasobów w frameworks/base. Nie stosuj do powierzchni standardowej aktywności dowolnych zaokrąglonych rogów.
Zakłóca to testy elementów interfejsu. Tymczasowo możesz określić ten sam promień zaokrąglenia narożników wyświetlacza, który stosujesz do powierzchni standardowej aktywności.
Zachowanie rozmiaru aplikacji w przypadku prośby o tryb immersyjny
Gdy aplikacja wysyła żądanie przejścia w tryb pełnoekranowy, nie zmieniaj rozmiaru okna aplikacji. Spowoduje to zmianę konfiguracji, która może zakłócić działanie usługi. Zamiast tego, aby zmaksymalizować aplikację, udostępnij przycisk pełnego ekranu, którym użytkownik może sterować.