Obsługa wielu okien

W Androidzie 7.0 i nowszych można wyświetlać kilka aplikacji jednocześnie, korzystając z funkcji wielozadaniowości. Android obsługuje 3 konfiguracje wielu okien:

  • Podzielony ekran to domyślna implementacja wielu okien, która zapewnia 2 panele aktywności, w których użytkownicy mogą umieszczać aplikacje.
  • Tryb swobodny umożliwia użytkownikom dynamiczne zmienianie rozmiaru paneli aktywności i wyświetlanie na ekranie więcej niż 2 aplikacji.
  • Obraz w obrazie (PIP) umożliwia urządzeniom z Androidem odtwarzanie treści wideo w małym oknie, gdy użytkownik korzysta z innych aplikacji.

Implementacja

Obsługa wielu okien jest domyślnie włączona w Androidzie 7.0 i nowszych. Aby go wyłączyć, ustaw flagę config_supportsMultiWindow na false w pliku config.xml na urządzeniu.

Wieloknożnik jest domyślnie wyłączony na wszystkich urządzeniach z niewielką ilością pamięci RAM (na urządzeniach, które deklarują ActivityManager.isLowRam()). Urządzenia z niewielką ilością pamięci RAM ignorują wartość flagi config_supportsMultiWindow.

Podzielony ekran

Domyślnie funkcja wielu okien działa w trybie podzielonego ekranu, w którym interfejs systemu jest podzielony na pół w orientacji poziomej lub pionowej. Użytkownicy mogą zmienić rozmiar okna, przeciągając linię podziału w poziomie lub w pionie, w zależności od orientacji urządzenia.

Po włączeniu trybu podzielonego ekranu producenci urządzeń mogą włączyć tryb dowolny lub tryb obrazu w obrazie.

Android 8.0 i nowsze wersje poprawiają działanie trybu podzielonego ekranu, kompresując wygaszacz, gdy użytkownik kliknie Początek. Szczegóły wdrażania znajdziesz w artykule Interakcje na podzielonym ekranie.

Freeform

Po włączeniu trybu wielu okien za pomocą flagi config_supportsMultiWindow producenci urządzeń mogą zezwolić na dowolny rozmiar okna. Ten tryb jest najbardziej przydatny na większych urządzeniach, takich jak tablety.

Aby obsługiwać tryb dowolnego kształtu, włącz funkcję systemu PackageManager#FEATURE_FREEFORM_WINDOW_MANAGEMENT/android/frameworks/base/core/java/android/content/pm/PackageManager.java i ustaw config_freeformWindowManagement na trueconfig.xml.

    <bool name="config_freeformWindowManagement">true</bool>
    

Obraz w obrazie

Po włączeniu trybu wielookiennego za pomocą flagi config_supportsMultiWindow producenci urządzeń mogą obsługiwać obraz w obrazie, który pozwala użytkownikom oglądać filmy, jednocześnie wykonując inne czynności. Ta funkcja jest przeznaczona dla urządzeń z Androidem TV, ale może być obsługiwana również na innych typach urządzeń.

Aby obsługiwać tryb obrazu w obrazie, włącz funkcję systemu PackageManager#FEATURE_PICTURE_IN_PICTURE/android/frameworks/base/core/java/android/content/pm/PackageManager.java.

Więcej informacji o wdrożeniu funkcji PIP na urządzeniach z Androidem w wersji 8.0 lub nowszej znajdziesz na stronie Obraz w obrazie.

interfejs systemu

Obsługa wszystkich standardowych interfejsów systemu zgodnie z dokumentacją dla programistów dotyczącą trybu wielu okien.

Aplikacje

Aby obsługiwać tryb wielookienkowy w wstępnie załadowanych aplikacjach, zapoznaj się z dokumentacją dla deweloperów Androida.

Weryfikacja

Aby sprawdzić implementację funkcji obsługi wielu okien, uruchom odpowiednie testy CTS i postępuj zgodnie z instrukcjami testowania obsługi wielu okien.

W przypadku Androida 7.0 testy są dostępne w sekcji /platform/cts/hostsidetests/services/activitymanager/src/android/server/cts. W Androidzie 8.0 lub nowszym testy są dostępne w sekcji /platform/cts/tests/framework/base/activitymanager/src/android/server/am.