Ograniczenia dotyczące orientacji i możliwości zmiany rozmiaru są ignorowane.

Aplikacje na Androida działają teraz na wielu różnych urządzeniach (takich jak telefony, tablety, urządzenia składane, komputery, samochody i telewizory) oraz w różnych trybach okien na dużych ekranach (takich jak tryb podzielonego ekranu i tryb okien na pulpicie). Deweloperzy powinni tworzyć aplikacje na Androida, które dostosowują się do dowolnego rozmiaru ekranu i okna, niezależnie od orientacji urządzenia. Paradygmaty takie jak ograniczenie orientacji i możliwości zmiany rozmiaru są zbyt restrykcyjne w dzisiejszym świecie wielu urządzeń.

Ignorowanie ograniczeń dotyczących orientacji, zmiany rozmiaru i współczynnika proporcji

W przypadku aplikacji kierowanych na Androida 17 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 współczynnika proporcji czy preferowanej orientacji użytkownika, a pillarboxing nie jest używany.

Android 17 usuwa tymczasową opcję rezygnacji dla deweloperów z ograniczeń dotyczących orientacji i 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 zmierza w kierunku modelu, w którym aplikacje powinny dostosowywać się do różnych orientacji, rozmiarów wyświetlacza i proporcji. Ograniczenia takie jak stała orientacja lub ograniczona możliwość zmiany rozmiaru utrudniają dostosowanie aplikacji. Dostosuj aplikację, aby zapewnić użytkownikom jak najlepsze wrażenia.

Możesz też przetestować to zachowanie, korzystając z platformy 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 proporcji może mieć wpływ na interfejs aplikacji na niektórych urządzeniach, zwłaszcza na elementy zaprojektowane z myślą o małych układach 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 proporcji lub orientacji mogą powodować problemy wizualne w aplikacji. Dowiedz się więcej o tym, jak ich uniknąć i poprawić adaptacyjne działanie aplikacji.

Częstym problemem na urządzeniach składanych w orientacji poziomej lub w przypadku obliczania proporcji obrazu w scenariuszach takich jak wielookienkowość, okna na komputerze czy podłączone wyświetlacze jest rozciągnięty, obrócony lub przycięty podgląd z kamery. Ten problem często występuje na urządzeniach z dużym ekranem i urządzeniach 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). Dowiedz się więcej o zarządzaniu podglądem z kamery

Zezwolenie na obracanie urządzenia powoduje częstsze ponowne tworzenie aktywności, co może prowadzić do utraty stanu użytkownika, jeśli nie zostanie on odpowiednio zachowany. Dowiedz się, jak prawidłowo zapisywać stan interfejsu w artykule Zapisywanie stanów interfejsu.

Szczegóły implementacji

Na urządzeniach z dużym ekranem w trybie pełnoekranowym i wielookienkowym ignorowane są te atrybuty manifestu i interfejsy API środowiska wykonawczego:

Te wartości w kolumnach screenOrientation, setRequestedOrientation()getRequestedOrientation() są ignorowane:

  • portrait
  • reversePortrait
  • sensorPortrait
  • userPortrait
  • landscape
  • reverseLandscape
  • sensorLandscape
  • userLandscape

W przypadku zmiany rozmiaru wyświetlacza elementy android:resizeableActivity="false", android:minAspectRatioandroid:maxAspectRatio nie mają żadnego wpływu.

Wyjątki

Ograniczenia dotyczące orientacji, możliwości zmiany rozmiaru i współczynnika proporcji w Androidzie 17 nie obowiązują w tych sytuacjach:

  • Gry (na podstawie flagi android:appCategory)
  • użytkownicy, którzy wyraźnie zgadzają się na domyślne działanie aplikacji w ustawieniach proporcji obrazu urządzenia;
  • ekrany, których najmniejsza szerokość jest mniejsza niż sw600dp,