Obsługa tabletów i dużych ekranów

Android 13 sprawia, że Android
działa jeszcze lepiej na dużych ekranach

Android 13 wykorzystuje optymalizacje dla tabletów wprowadzone w Androidzie 12 i pakiet nowych funkcji – w tym optymalizacje interfejsu systemu, lepszą wielozadaniowość oraz ulepszone tryby zgodności. W ramach testów sprawdź, czy Twoje aplikacje jak najlepiej wyglądają na tabletach i innych urządzeniach z dużym ekranem.

Zacznij od skonfigurowania urządzenia wirtualnego dla emulatora Androida w Android Studio lub pobrania Androida 13 na urządzenie z dużym ekranem od naszych partnerów produkujących urządzenia.

Jeśli dopiero zaczynasz projektowanie dużych ekranów, zapoznaj się z przewodnikami na temat dużych ekranów i urządzeń składanych. Znajdziesz w nich najnowsze wskazówki i metody tworzenia świetnych treści na tych urządzeniach.

Oto nowości i pomysły na to, co warto przetestować w Twojej aplikacji.

System operacyjny zoptymalizowany pod kątem dużych ekranów

Interfejs systemu jest teraz ładniejszy i łatwiejszy w obsłudze na dużych ekranach. Możesz wyświetlać powiadomienia, szybkie ustawienia, ekran blokady, przegląd, ekran główny i nie tylko.

Na dużych ekranach obszar powiadomień wykorzystuje dostępną przestrzeń, wyświetlając Szybkie ustawienia i powiadomienia w nowym, dwukolumnowym układzie. Ekran blokady ma też większy, dwukolumnowy układ do wyróżniania powiadomień i zegara. Zoptymalizowane są też aplikacje systemowe, takie jak Ustawienia.

Duże układy ekranu wyświetlają więcej treści w układzie 2 kolumn.

Inne zmiany mają na celu ułatwienie najważniejszych interakcji na większych ekranach. Na przykład wzór blokady ekranu i kody PIN na tabletach są teraz wyświetlane z boku ekranu, co zwiększa jego zasięg. Użytkownik może po prostu dotknąć drugiej strony ekranu, aby przenieść elementy sterujące pinezką lub wzorem.

W przypadku urządzeń składanych system optymalizuje siatkę ekranu głównego i precyzuje przejście z jednego ekranu zewnętrznego na większy, zapewniając ciągłość przy jednoczesnym zachowaniu wybranych ustawień.

Dla programistów: zmiana wyświetlania multimediów

Począwszy od rozmiaru 12 L, po renderowaniu wirtualnego wyświetlacza na powierzchni obraz wirtualny jest skalowany w taki sposób, aby pasował do powierzchni, korzystając z procesu podobnego do opcji centerInside ImageView.

Nowe podejście do skalowania poprawia przesyłanie ekranu na telewizory i inne duże ekrany, maksymalizując rozmiar obrazu powierzchni przy zachowaniu właściwego współczynnika proporcji.

Więcej informacji znajdziesz w artykule Wyświetlanie multimediów na dużych ekranach.

Wydajna i intuicyjna wielozadaniowość

Użytkownicy często wykonują wiele zadań jednocześnie, korzystając z większych ekranów tabletów, Chromebooków i urządzeń składanych. Nowe funkcje zwiększające produktywność sprawiają, że wielozadaniowość jest jeszcze wydajniejsza i bardziej intuicyjna.

Nowy pasek aplikacji ułatwia uruchamianie i przełączanie aplikacji na bieżąco. Gesty sprawiają, że korzystanie z paska aplikacji jest jeszcze szybsze. Przeciągnij i upuść, aby włączyć tryb podzielonego ekranu, a następnie przesuń palcem w górę, aby przejść na ekran główny. W nawigacji przy użyciu gestów możesz użyć gestów szybkiego przełączania, aby przeglądać ostatnio używane aplikacje. Użytkownicy mogą w każdej chwili wyświetlić lub ukryć pasek aplikacji, przytrzymując go.

Pasek zadań umożliwia użytkownikom szybsze uruchamianie i przełączanie aplikacji. Przeciągnij i upuść, aby włączyć tryb podzielonego ekranu, oraz przesuń palcem w górę, aby wrócić na ekran główny.

Używanie aplikacji w trybie podzielonego ekranu to popularny sposób wykonywania wielu zadań jednocześnie, a dzielenie ekranu jest łatwiejsze niż kiedykolwiek wcześniej. Użytkownicy mogą teraz przeciągać ulubione aplikacje i upuszczać je na podzielony ekran bezpośrednio z paska zadań lub korzystać z nowego działania „Podziel” w przeglądarce, aby jednym kliknięciem włączyć tryb podzielonego ekranu.

Aby podzielony ekran był bardziej spójny, na Androidzie w wersji 12 i nowszych wszystkie aplikacje mogą korzystać z trybu wielu okien, niezależnie od tego, czy można zmienić ich rozmiar.

Dla deweloperów: testowanie aplikacji w trybie podzielonego ekranu

Tryb podzielonego ekranu stał się bardziej dostępny, a wraz ze zmianą w Androidzie 12, która umożliwia użytkownikom uruchamianie wszystkich aplikacji na podzielonym ekranie, zdecydowanie zalecamy testowanie aplikacji w trybie podzielonego ekranu.

Programiści: obsługa dynamicznych zmian rozmiarów wstawionych

Nowy pasek aplikacji jest zgłaszany do aplikacji jako element wstawiany, mimo że nie wprowadzono nowego interfejsu API typu inset.

W przypadku nawigacji przy użyciu gestów pasek aplikacji można ukrywać i wyświetlać dynamicznie. Jeśli Twoja aplikacja używa już tych informacji do rysowania interfejsu użytkownika, musi wziąć pod uwagę możliwość zmiany rozmiaru wstawienia po wznowieniu aplikacji. W takich przypadkach aplikacja musi wywoływać metodę setOnApplyWindowInsetsListener i obsługiwać zmiany w wymiarach wstawienia zgodnie z opisem w sekcji Wstawianie słupków systemowych.

Ulepszone funkcje zgodności

Wiele aplikacji jest już zoptymalizowanych pod kątem urządzeń z dużym ekranem. Zapewniają one świetne wrażenia dzięki elastycznym układom, obsłudze trybu wielu okien, ciągłości ekranu oraz zmianom stanu urządzenia i innym funkcjom.

W przypadku aplikacji, które nie są jeszcze zoptymalizowane, system uwzględnił ulepszenia wizualne i stabilne w trybie zgodności, aby zapewnić użytkownikom większy komfort korzystania z aplikacji oraz domyślnie poprawić ich wygląd.

Ulepszenia trybu zgodności zwiększają wygodę użytkowników w przypadku aplikacji, które nie są zoptymalizowane pod kątem dużych ekranów.

Aby ulepszyć interfejs letterbox, producenci urządzeń mają różne opcje dostosowania za pomocą konfiguracji nakładek. Na przykład producenci urządzeń mogą teraz konfigurować format obrazu aplikacji, stosować zaokrąglone rogi do okna aplikacji i ustawiać przezroczystość paska stanu.

Dla deweloperów: sprawdzanie aplikacji w trybie zgodności

Jeśli Twoja aplikacja nie jest jeszcze zoptymalizowana pod kątem dostosowywania się do rozmiaru ekranu i zmian stanu urządzenia, może zostać uruchomiona w trybie zgodności. Zalecamy przetestowanie aplikacji w trybach zgodności, aby upewnić się, że wygląda i działa prawidłowo.

Więcej informacji znajdziesz w artykule Ulepszony format letterbox.

Poprawiono odrzucanie danych dłoni

Duże ekrany idealnie nadają się do wpisywania rysika. Jednak gdy użytkownicy rysują, piszą lub wchodzą w interakcję z aplikacją za pomocą rysika, czasami dotykają ekranu dłonią. Zdarzenie dotknięcia może zostać zgłoszone do aplikacji, zanim system rozpozna i zignoruje je jako przypadkowe dotknięcie dłoni.

Przed Androidem 13 (poziom interfejsu API 33) system anulował zdarzenia dotyku dłoni, wysyłając MotionEvent z ACTION_CANCEL. Android 13 ulepsza identyfikację odrzucenia dłoni, dodając FLAG_CANCELED do obiektu zdarzenia ruchu.

Jeśli wskaźnik dotknięcia dłonią jest jedynym wskaźnikiem dotknięcia, system anuluje zdarzenie, ustawiając ACTION_CANCEL i FLAG_CANCELED obiektu zdarzenia ruchu. Jeśli inne wskaźniki nie działają, Android 13 ustawia wartości ACTION_POINTER_UP i FLAG_CANCELED.

Dla programistów: aktualizowanie detektorów i modułów obsługi zdarzeń dotyku

Na Androidzie 12 (poziom interfejsu API 32) i starszych wersjach wykrywanie odrzucenia dłoni jest możliwe tylko w przypadku zdarzeń dotknięcia jednym wskaźnikiem. Jeśli jedyny wskaźnik to dotknięcie dłoni, system anuluje zdarzenie, ustawiając ACTION_CANCEL na obiekcie zdarzenia ruchu. Jeśli inne wskaźniki nie działają, system ustawia wartość ACTION_POINTER_UP, która jest niewystarczająca do wykrycia odrzucenia dłoni. W obu przypadkach FLAG_CANCELED nie jest ustawiony.

W przypadku Androida 13 zaktualizuj detektory i moduły obsługi zdarzeń dotyku tak, aby po otrzymaniu ACTION_POINTER_UP sprawdzały się zdarzenia FLAG_CANCELED. Zapewni to wykrywanie i obsługę odrzucania zdarzeń dłoni oraz innych anulowanych zdarzeń.

Więcej aktualizacji i materiałów na temat dużych ekranów

Zmiany w Google Play na dużych ekranach

Aby ułatwić użytkownikom znajdowanie najlepszych aplikacji na tabletach, urządzeniach składanych i urządzeniach z ChromeOS, Google Play wprowadza zmiany, które wyróżniają aplikacje zoptymalizowane pod kątem ich urządzeń.

Dodaliśmy nowe mechanizmy kontrolne, aby ocenić jakość poszczególnych aplikacji pod kątem zgodności z naszymi wskazówkami dotyczącymi aplikacji z dużym ekranem. Dzięki temu Google Play będzie wyświetlać na tych urządzeniach najlepsze aplikacje. Gdy aplikacja nie jest zoptymalizowana pod kątem dużych ekranów, jej użytkownicy widzą na stronie z informacjami o niej, które aplikacje będą najlepiej pasować do ich urządzeń.

W Google Play wprowadzamy też oceny aplikacji przeznaczonych na duże ekrany, co po raz pierwszy ogłosiliśmy w sierpniu 2021 roku, aby użytkownicy mogli ocenić działanie aplikacji na ich urządzeniach z dużymi ekranami.

Osadzanie aktywności za pomocą Jetpack WindowManager

Umieszczanie aktywności pozwala wykorzystać dodatkowy obszar wyświetlania dużych ekranów, wyświetlając wiele działań jednocześnie, np. w przypadku wzorca listy szczegółów. Pozwala to na refaktoryzację aplikacji w niewielkim stopniu lub wcale. To Ty decydujesz, jak aplikacja ma wyświetlać działania – obok siebie czy do stosu – tworząc plik konfiguracji XML lub wykonując wywołania interfejsu API Jetpack WindowManager API. System zajmuje się resztą, określając prezentację na podstawie utworzonej przez Ciebie konfiguracji. Jeśli aplikacja wykorzystuje wiele aktywności, warto spróbować umieszczania ich na stronach. Więcej informacji znajdziesz w sekcji Umieszczanie aktywności na stronach.

Prośba o orientację urządzenia

W przeciwieństwie do standardowych telefonów urządzenia składane i tablety są często używane zarówno w orientacji poziomej, jak i pionowej. Tablety są często zadokowane poziomo, a urządzenia składane mogą być składane, dostosowując położenie.

Niektóre aplikacje wymagają stałej orientacji (pionowej lub poziomej) i oczekują, że będą zawsze wyświetlać się w preferowanej orientacji niezależnie od orientacji urządzenia (patrz atrybut pliku manifestu screenOrientation). Chociaż jest to nadal obsługiwane, producenci urządzeń mogą zastąpić żądanie aplikacji dotyczące preferowanej orientacji.

W Androidzie 12 (poziom interfejsu API 31) i nowszych producenci urządzeń mogą konfigurować ekrany poszczególnych urządzeń (np. rozmiar tabletu składanego), aby ignorował specyfikację orientacji i wymuszał wyświetlanie aplikacji w trybie pionowym pionowo, ale z czarnymi pasami na wyświetlaczach poziomych. Gdy ignorując tę specyfikację, Android może lepiej wykorzystać zamiar dewelopera, czyli zawsze prezentować aplikację w stałym formacie obrazu, a jednocześnie zadbać o jej optymalną obsługę.

Aby jednak zapewnić użytkownikom najlepsze wrażenia, zaprojektuj aplikacje z elastycznym układem, który w pełni wykorzystasz miejsce na ekranie w orientacji pionowej i poziomej na ekranach większych niż 600 dp.

Pobierz Androida 13 na urządzenie partnera z dużym ekranem

Nawiązaliśmy współpracę z producentami urządzeń, aby udostępnić Androida 13 na urządzeniach z dużym ekranem. Na tych stronach znajdziesz listę odpowiednich urządzeń z dużym ekranem oraz szczegółowe informacje o dostępnych wersjach beta.

Informacje o aktualizacjach i pomocy można znaleźć w zasobach, do których każdy producent urządzeń prowadzi na stronie dotyczącej Androida 13 w wersji beta. Pamiętaj, że każdy partner będzie bezpośrednio dostarczać aktualizacje wersji beta i samodzielnie zarządzać rejestracjami oraz pomocą.

Co testować

Zanim zaczniesz testy, skonfiguruj urządzenie wirtualne na potrzeby emulatora Androida w Android Studio lub pobierz Androida 13 na urządzenie z dużym ekranem od naszych partnerów produkujących urządzenia. Po zakończeniu konfiguracji urządzenia warto przetestować aplikację w kilku typowych przypadkach użycia dużego ekranu, aby upewnić się, że działa ona tak, jak chcesz. Oto kilka zalecanych obszarów z linkami do dodatkowych informacji o powiązanych zasobach, które pomogą Ci zoptymalizować aplikację pod kątem dużych ekranów:

Co testować Materiały
Rozmiary ekranu, stan i obrót urządzenia

Sprawdź, jak aplikacja reaguje, gdy rozmiar ekranu zmieni się ze względu na zmiany stanu urządzenia (np. rozłożenie urządzenia składanego lub ustawienie urządzenia składanego w trybie Na stole). Spróbuj też obrócić urządzenie w każdym z tych stanów, aby mieć pewność, że aplikacja będzie reagować optymalnie.

Dokumentacja Przykłady Ćwiczenia z programowania Rozmowy techniczne
Interakcja z paskiem aplikacji i tryb podzielonego ekranu

Sprawdź, jak reaguje aplikacja na dużym ekranie z paskiem aplikacji. Sprawdź, czy interfejs aplikacji nie jest ucięty lub zablokowany na pasku aplikacji. Na pasku zadań włącz tryb podzielonego ekranu i wielu okien, a następnie przetestuj szybkie przełączanie się między aplikacją i innymi aplikacjami, używając paska aplikacji.

Jeśli aplikacja ma stałą orientację i nie można zmienić jej rozmiaru, sprawdź, jak reaguje na zmiany w trybie zgodności, takie jak czarne pasy.

Dokumentacja Przykłady Rozmowy techniczne
Tryb wielu okien

Sprawdź, jak reaguje aplikacja działająca w trybie wielu okien na dużych ekranach (sw >= 600 dp), zwłaszcza jeśli aplikacja ustawia resizeableActivity="false".

Jeśli Twoja aplikacja ustawia resizeableActivity="true", sprawdź też, jak reaguje aplikacja działająca w trybie wielu okien na małych ekranach (sw < 600 dp).

Jeśli Twoja aplikacja korzysta z interfejsów Display API, takich jak Display.getRealSize() i Display.getRealMetrics(), użyj interfejsów WindowMetrics API w bibliotece Jetpack WindowManager.

Dokumentacja Przykłady Rozmowy techniczne
Wyświetlanie multimediów

Jeśli Twoja aplikacja używa projekcji multimediów, sprawdź, jak reaguje aplikacja podczas odtwarzania, strumieniowania lub przesyłania multimediów na urządzeniach z dużym ekranem. Pamiętaj, aby uwzględnić zmiany stanu urządzeń składanych.

Dokumentacja Przykłady Rozmowy techniczne
Podgląd z aparatu

W przypadku aplikacji aparatu sprawdź, jak interfejs podglądu aparatu reaguje na duże ekrany, gdy aplikacja jest ograniczona do części ekranu w trybie wielu okien lub podzielonego ekranu. Sprawdź też, jak aplikacja reaguje na zmianę stanu urządzenia składanego.

Dokumentacja