Aplikacje na Androida działają teraz na różnych urządzeniach (takich jak telefony, tablety, urządzenia składane, komputery, samochody i telewizory) oraz w trybach okien na dużych ekranach (takich jak podzielony ekran i tryb okien na pulpicie). Deweloperzy powinni więc tworzyć aplikacje na Androida, które dostosowują się do każdego rozmiaru ekranu i okna, niezależnie od orientacji urządzenia. Paradygmaty takie jak ograniczanie orientacji i możliwości zmiany rozmiaru są zbyt restrykcyjne w dzisiejszym świecie wielu urządzeń.
Ignorowanie ograniczeń dotyczących orientacji, możliwości zmiany rozmiaru i formatu obrazu
W przypadku aplikacji kierowanych na Androida 17 (API na poziomie 37) lub nowszego ograniczenia dotyczące orientacji, możliwości zmiany rozmiaru i formatu obrazu nie obowiązują już na wyświetlaczach, których najmniejsza szerokość jest większa niż 600 dp. Aplikacje wypełniają całe okno wyświetlania niezależnie od formatu obrazu lub preferowanej orientacji użytkownika, a efekt pillarbox nie jest używany.
Android 17 usuwa tymczasową opcję rezygnacji dewelopera z ograniczeń dotyczących orientacji i możliwości zmiany rozmiaru na urządzeniach z dużym ekranem, która była dostępna w Androidzie 16.
Ta zmiana wprowadza nowe standardowe działanie platformy. Android przechodzi na model, w którym aplikacje mają dostosowywać się do różnych orientacji, rozmiarów wyświetlacza i formatów obrazu. Ograniczenia takie jak stała orientacja czy ograniczona możliwość zmiany rozmiaru utrudniają dostosowywanie aplikacji. Dostosuj aplikację, aby zapewnić użytkownikom jak najlepsze wrażenia.
Możesz też przetestować to zachowanie, korzystając z systemu sprawdzania zgodności aplikacji i włączając flagę zgodności UNIVERSAL_RESIZABLE_BY_DEFAULT.
Typowe zmiany powodujące niezgodność
Ignorowanie ograniczeń dotyczących orientacji, możliwości zmiany rozmiaru i formatu obrazu może mieć wpływ na interfejs aplikacji na niektórych urządzeniach, zwłaszcza na elementy zaprojektowane pod kątem małych układów zablokowanych w orientacji pionowej. Aplikacje mogą mieć na przykład problemy z rozciągniętymi układami oraz animacjami i komponentami poza ekranem. Wszelkie założenia dotyczące formatu obrazu lub orientacji mogą powodować problemy z wyświetlaniem aplikacji. Dowiedz się, jak unikać tych problemów i poprawić działanie aplikacji na różnych urządzeniach.
Częstym problemem w przypadku urządzeń składanych w orientacji poziomej lub obliczeń formatu obrazu w scenariuszach takich jak tryb wielu okien, tryb okien na pulpicie lub podłączone wyświetlacze jest rozciągnięty, obrócony lub przycięty podgląd z aparatu. Ten problem często występuje na urządzeniach z dużym ekranem i składanych, ponieważ aplikacje zakładają stałe relacje między funkcjami aparatu (takimi jak format obrazu i orientacja czujnika) a funkcjami urządzenia (takimi jak orientacja urządzenia i orientacja naturalna). Więcej informacji o zarządzaniu podglądem z kamery
Zezwolenie na obracanie urządzenia powoduje częstsze ponowne tworzenie aktywności, co może skutkować utratą stanu użytkownika, jeśli nie zostanie on prawidłowo zachowany. Dowiedz się, jak prawidłowo zapisywać stan interfejsu, z artykułu Zapisywanie stanów interfejsu.
Szczegóły implementacji
Następujące atrybuty manifestu i interfejsy API środowiska wykonawczego są ignorowane na urządzeniach z dużym ekranem w trybach pełnoekranowym i wielu okien:
screenOrientationresizeableActivityminAspectRatiomaxAspectRatiosetRequestedOrientation()getRequestedOrientation()
Te wartości parametrów screenOrientation, setRequestedOrientation() i getRequestedOrientation() są ignorowane:
portraitreversePortraitsensorPortraituserPortraitlandscapereverseLandscapesensorLandscapeuserLandscape
Jeśli chodzi o możliwość zmiany rozmiaru wyświetlacza, android:resizeableActivity="false",
android:minAspectRatio i android:maxAspectRatio nie mają wpływu.
Wyjątki
Ograniczenia dotyczące orientacji, możliwości zmiany rozmiaru i formatu obrazu w Androidzie 17 nie obowiązują w tych sytuacjach:
- Gry (na podstawie flagi
android:appCategory) - Użytkownicy wyraźnie akceptują działanie domyślne aplikacji w ustawieniach formatu obrazu na urządzeniu.
- Ekrany, których najmniejsza szerokość jest mniejsza niż
sw600dp