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

Dzięki Androidowi 13 Android
jest jeszcze lepszy na dużych ekranach

Android 13 wykorzystuje optymalizacje dla tabletów wprowadzone w Androidzie 12 i dodanej wersji 12L. Są to między innymi optymalizacje interfejsu systemu, lepsza wielozadaniowość i ulepszone tryby zgodności. W ramach testów zadbaj o to, aby Twoje aplikacje wyglądały najlepiej na tabletach i innych urządzeniach z dużym ekranem.

Zacznij od skonfigurowania urządzenia wirtualnego na potrzeby emulatora Androida w Android Studio lub pobierz Androida 13 na urządzenie z dużym ekranem od naszych producentów urządzeń.

Jeśli dopiero zaczynasz tworzenie dużych ekranów, zapoznaj się z przewodnikami na temat dużych ekranów i urządzeń składanych, w których znajdziesz najnowsze wskazówki i metody zapewniania użytkownikom doskonałych wrażeń na tych urządzeniach.

Poniżej podajemy kilka nowości i pomysły na temat tego, 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 – między powiadomieniami, szybkimi ustawieniami, ekranem blokady, Przeglądem, ekranem głównym i nie tylko.

Na dużych ekranach obszar powiadomień wykorzystuje przestrzeń, wyświetlając Szybkie ustawienia i powiadomienia w nowym układzie dwukolumnowym. Ekran blokady ma też większy układ dwukolumnowy, w którym wyróżnione są powiadomienia i zegar, a aplikacje systemowe, takie jak Ustawienia, również są zoptymalizowane.

Duży układ ekranu wyświetla więcej treści w układzie 2 kolumn.

Inne zmiany dotyczą ułatwiania kluczowych interakcji na większych ekranach. Na przykład wzór blokady i kody PIN na tabletach są teraz wyświetlane z boku ekranu, dzięki czemu są łatwiej dostępne. Użytkownicy mogą po prostu dotknąć drugiej strony ekranu, aby przesunąć elementy sterujące pinezką/wzorem z tej strony.

W przypadku urządzeń składanych system optymalizuje siatkę ekranu głównego i dopracowuje przejścia w procesie składania, tak aby użytkownicy płynnie przechodzili z pojedynczego ekranu zewnętrznego na większy.

Dla programistów: zmiana w projekcie multimediów

Po wyrenderowaniu wirtualny wyświetlacza na powierzchni 12 l jest on skalowany tak, aby pasował do powierzchni, w sposób podobny do centerInside opcji ImageView.

Nowe podejście do skalowania poprawia przesyłanie ekranu na telewizory i inne duże wyświetlacze, ponieważ maksymalizuje rozmiar obrazu na powierzchni, a jednocześnie zapewnia odpowiedni współczynnik proporcji.

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

Wydajne i intuicyjne wykonywanie wielu zadań jednocześnie

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

Nowy pasek aplikacji ułatwia uruchamianie i przełączanie aplikacji na bieżąco. Gesty umożliwiają jeszcze szybsze korzystanie z paska aplikacji – przeciąganie i upuszczanie otwiera tryb podzielonego ekranu. Aby wyświetlić ekran główny, przesuń palcem w górę. W nawigacji przy użyciu gestów gest szybkiego przełączania umożliwia użytkownikom przeglądanie ostatnich aplikacji. Użytkownicy mogą w każdej chwili wyświetlić lub ukryć pasek aplikacji, przytrzymując go.

Pasek zadań pozwala użytkownikom szybciej uruchamiać i przełączać aplikacje. Aby przejść do trybu podzielonego ekranu, przeciągnij go i upuść. Aby wrócić na ekran główny, przesuń palcem w górę.

Uruchamianie aplikacji w trybie podzielonego ekranu to popularny sposób na wielozadaniowość, a podzielony ekran jest teraz łatwiejszy niż kiedykolwiek wcześniej. Użytkownicy mogą teraz przeciągać i upuszczać ulubione aplikacje na podzielonym ekranie bezpośrednio na pasku zadań. Mogą też skorzystać z nowego działania „Podziel” w podsumowaniu, aby jednym kliknięciem rozpocząć tryb podzielonego ekranu.

Aby zapewnić użytkownikom bardziej spójną obsługę, Android 12 i nowsze wersje zezwalają wszystkim aplikacjom na włączanie trybu wielu okien, niezależnie od tego, czy można zmienić ich rozmiar.

Dla deweloperów: testowanie aplikacji w trybie podzielonego ekranu

Wraz z udostępnieniem trybu podzielonego ekranu i zmianą w Androidzie 12, która umożliwia uruchamianie wszystkich aplikacji na podzielonym ekranie, zdecydowanie zalecamy przetestowanie aplikacji w tym trybie.

Dla programistów: obsługa dynamicznych zmian rozmiaru wstawionego tekstu

Nowy pasek zadań jest raportowany aplikacjom jako wbudowany, mimo że nowy interfejs API nie został wprowadzony.

W połączeniu z nawigacją przy użyciu gestów pasek aplikacji można ukrywać i wyświetlać dynamicznie. Jeśli Twoja aplikacja korzysta już z wbudowanych informacji do rysowania interfejsu, należy uwzględnić możliwość, że rozmiar wprowadzenia może się zmienić, gdy aplikacja jest wznowiona. W takich przypadkach aplikacja musi wywoływać metodę setOnApplyWindowInsetsListener i obsługiwać zmiany w wymiarach wstawienia zgodnie z opisem w sekcji Wzmocnienia pasków systemowych.

Większa zgodność

Wiele aplikacji jest już zoptymalizowanych pod kątem urządzeń z dużymi ekranami i zapewnia użytkownikom doskonałe wrażenia m.in. dzięki elastycznym układom, obsłudze trybu wielu okien, ciągłości działania w różnych rozmiarach ekranu i ustawieniu urządzenia.

W przypadku aplikacji, które nie zostały jeszcze zoptymalizowane, system uwzględnia ulepszenia wizualne i stabilniejsze w trybie zgodności, które zapewniają użytkownikom większy komfort, a aplikacje domyślnie wyglądają lepiej.

Ulepszenia trybu zgodności zapewniają użytkownikom lepsze wrażenia w przypadku aplikacji, które nie są zoptymalizowane pod kątem dużych ekranów.

Aby ulepszyć UI pod kątem tworzenia czarnych pasów, producenci urządzeń mogą dostosować szereg opcji za pomocą konfiguracji nakładek. Na przykład producenci urządzeń mogą teraz konfigurować format obrazu aplikacji, stosować zaokrąglone rogi w oknie 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 dostosowania do rozmiaru ekranu i zmian stanu urządzenia, może zostać uruchomiona w trybie zgodności. Zalecamy przetestowanie aplikacji w trybach zgodności, aby mieć pewność, że wygląda i działa prawidłowo.

Więcej informacji znajdziesz w artykule o ulepszonym interfejsie letterboxing (w języku angielskim).

Ulepszono odrzucanie dłoni

Duże ekrany to idealne platformy do wprowadzania tekstu przy użyciu rysika. Czasem jednak, gdy użytkownicy rysują, piszą lub korzystają z aplikacji za pomocą rysika, dotykają ekranu dłonią. Zdarzenie dotknięcia może zostać zgłoszone do aplikacji, zanim system rozpozna i zignoruje to zdarzenie jako przypadkowe dotknięcie dłoni.

Przed Androidem 13 (poziom interfejsu API 33) system anuluje zdarzenia dotknięcia dłoni, wysyłając MotionEvent z metodą ACTION_CANCEL. Android 13 ulepsza identyfikację odrzucenia dłoni przez dodanie FLAG_CANCELED do obiektu zdarzenia ruchu.

Jeśli dotknięcie dłoni jest jedynym wskaźnikiem zdarzenia dotyku, system anuluje zdarzenie, ustawiając parametry ACTION_CANCEL i FLAG_CANCELED na obiekcie zdarzenia ruchu. Jeśli inne wskaźniki nie działają, Android 13 ustawia ACTION_POINTER_UP i FLAG_CANCELED.

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

Na Androidzie 12 (poziom interfejsu API 32) i starszych wykrywanie odrzucenia dłoni jest możliwe tylko w przypadku zdarzeń dotyku za pomocą 1 wskaźnika. Jeśli jedynym wskaźnikiem jest dotknięcie dłoni, system anuluje zdarzenie, ustawiając obiekt ACTION_CANCEL na obiekt zdarzenia ruchu. Jeśli inne wskaźniki nie działają, system ustawia ACTION_POINTER_UP, co jest niewystarczające do wykrycia odrzucenia dłoni. W obu przypadkach właściwość FLAG_CANCELED nie jest ustawiona.

W przypadku Androida 13 zaktualizuj detektory i moduły obsługi zdarzeń dotyku, aby sprawdzały FLAG_CANCELED po otrzymaniu powiadomienia ACTION_POINTER_UP. Dzięki temu będziesz mieć pewność, że odrzucenie dłoni i inne anulowane zdarzenia będą wykrywane i obsługiwane.

Więcej aktualności i zasobów dotyczących dużych ekranów

Zmiany w Google Play na dużych ekranach

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

Dodaliśmy nowe testy, aby ocenić jakość każdej aplikacji pod kątem zgodności z naszymi wskazówkami dotyczącymi jakości aplikacji na duży ekran. Dzięki temu możemy mieć pewność, że Google Play wyświetla najlepsze możliwe aplikacje na tych urządzeniach. Jeśli aplikacja nie jest zoptymalizowana pod kątem dużych ekranów, użytkownicy dużych ekranów widzą teraz na stronie z informacjami o niej informację, która ułatwia im znalezienie aplikacji, która sprawdzi się najlepiej na danym urządzeniu.

Jak już ogłosiliśmy w sierpniu 2021 roku, Google Play wprowadza również oceny aplikacji na duże ekrany, aby umożliwić użytkownikom ocenę działania aplikacji na dużych ekranach.

Umieszczanie aktywności przy użyciu Jetpack WindowManager

Umieszczanie aktywności pozwala wykorzystać dodatkowy obszar wyświetlania dużych ekranów, prezentując wiele działań jednocześnie, na przykład w przypadku wzorca List-detail, i wymaga niewiele refaktoryzacji aplikacji lub nie wymaga ona refaktoryzacji. Aby określić, jak aplikacja ma wyświetlać działania – obok siebie lub ułożone w stos, możesz utworzyć plik konfiguracji XML lub wywołać interfejs API Jetpack WindowManager. Resztą zajmuje się system, określając prezentację na podstawie utworzonej przez Ciebie konfiguracji. Jeśli aplikacja wykorzystuje wiele aktywności, warto spróbować umieścić aktywność na stronie. Więcej informacji znajdziesz w sekcji Umieszczanie aktywności.

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 w orientacji poziomej, a tablety składane – w zależności od stopnia ich złożenia.

Niektóre aplikacje wymagają stałej orientacji w pionie lub poziomie i spodziewają się pozostać w preferowanej orientacji niezależnie od orientacji urządzenia (patrz atrybut screenOrientation w pliku manifestu). Chociaż ta funkcja nadal jest obsługiwana, producenci urządzeń mogą zastąpić żądanie aplikacji dotyczące preferowanej orientacji.

W Androidzie 12 (poziom interfejsu API 31) i nowszych producenci mogą konfigurować poszczególne ekrany urządzeń (np. ekrany składane o rozmiarze tabletu), aby ignorować specyfikację orientacji i wymuszać wyświetlanie aplikacji w trybie pionowym, a na wyświetlaczach poziomych z czarnymi pasami. Zignorowanie specyfikacji pozwala lepiej dopasować Androida do preferencji deweloperów – zawsze wyświetlać aplikację w stałym współczynniku proporcji, a jednocześnie zadbać o optymalną użyteczność aplikacji.

Aby jednak zadbać o wygodę użytkowników, zaprojektuj aplikacje w układach elastycznych, które w pełni wykorzystują przestrzeń ekranu zarówno w orientacji pionowej, jak 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 do wypróbowania na urządzeniach z dużym ekranem. Odwiedź te strony, aby zobaczyć listę obsługiwanych urządzeń z dużym ekranem oraz dowiedzieć się, które kompilacje w wersji beta są dostępne.

Informacje o aktualizacjach i pomoc znajdziesz w materiałach, do których każdy z producentów urządzeń zamieścił na swojej stronie dotyczącej Androida 13 w wersji beta. Pamiętaj, że każdy partner dostarcza aktualizacje wersji beta bezpośrednio i samodzielnie obsługuje rejestrację i wsparcie.

Co testować

Zanim rozpoczniesz testy, skonfiguruj w Android Studio urządzenie wirtualne do emulatora Androida lub pobierz Androida 13 na urządzenie z dużym ekranem od naszych producentów urządzeń. Po zakończeniu konfigurowania urządzenia warto przetestować swoją aplikację w typowych przypadkach użycia na dużym ekranie, aby się upewnić, że działa ona zgodnie z oczekiwaniami. Oto kilka zalecanych obszarów wraz z linkami do dodatkowych informacji o powiązanych zasobach, które pomogą Ci zoptymalizować aplikację pod kątem dużych ekranów:

Co testować Zasoby
Rozmiary ekranu, stan i obrót urządzenia

Sprawdź, jak Twoja aplikacja reaguje, gdy rozmiar ekranu zmienia się w wyniku zmiany stanu urządzenia (np. po rozłożeniu urządzenia składanego lub włączeniu urządzenia składanego w tryb Na stole). Spróbuj też obrócić urządzenie w każdym z tych stanów, aby mieć pewność, że aplikacja będzie reagowała optymalnie.

Dokumentacja Sample Ćwiczenia z programowania Rozmowy techniczne
Interakcja z paskiem aplikacji i tryb podzielonego ekranu

Sprawdź, jak reaguje Twoja aplikacja na pasku zadań na dużych ekranach. Sprawdź, czy interfejs aplikacji nie jest przycięty lub zablokowany przez pasek zadań. Spróbuj włączyć lub wyłączyć tryb podzielonego ekranu i wielu okien na pasku zadań oraz przetestuj szybkie przełączanie się między aplikacją i innymi aplikacjami za pomocą paska zadań.

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

Dokumentacja Sample Rozmowy techniczne
Tryb wielu okien

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

Jeśli aplikacja ustawia resizeableActivity="true", pamiętaj też, aby sprawdzić jej reakcję w trybie wielu okien na małych ekranach (sw < 600dp).

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

Dokumentacja Sample Rozmowy techniczne
Wyświetlanie multimediów

Jeśli Twoja aplikacja używa wyświetlania multimediów, sprawdź, jak reaguje na odtwarzanie, strumieniowanie i przesyłanie multimediów na urządzenia z dużym ekranem. Weź też pod uwagę zmiany stanu urządzeń składanych.

Dokumentacja Sample 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