Aplikacje na Androida działają na urządzeniach różnego rodzaju: telefonach, tabletach, urządzeniach składanych, urządzeniach z ChromeOS, samochodach, telewizorach, a nawet urządzeniach XR. Aby dostosować się do tego zróżnicowanego środowiska, aplikacja powinna obsługiwać wszystkie formaty urządzeń i rozmiary wyświetlaczy.
Android 16 (poziom API 36) umożliwia aplikacjom dostosowywanie się do różnych formatów i rozmiarów ekranu przez zastępowanie ograniczeń aplikacji dotyczących orientacji ekranu, formatu obrazu i możliwości zmiany rozmiaru. Zastąpienia dotyczą urządzeń o najmniejszej szerokości ≥ 600 dp, co oznacza:
- Tablety
- Ekrany wewnętrzne składanych urządzeń z dużym ekranem
- Tryb okien na pulpicie (na wszystkich urządzeniach)
Aplikacje kierowane na interfejs API na poziomie 36 można zmieniać i mogą one wchodzić w tryb wielu okien (odpowiednik resizeableActivity="true"
), jeśli najmniejsza szerokość wyświetlacza wynosi co najmniej 600 dp.

Android 16 wymusza spójny model adaptacyjnego projektowania aplikacji, który optymalizuje wrażenia użytkownika, uwzględniając jego preferencje dotyczące orientacji urządzenia, proporcji i rozmiaru wyświetlacza.
Zmiany
W przypadku aplikacji kierowanych na Androida 16 (poziom API 36) na dużych ekranach ignorowane są te atrybuty manifestu i interfejsy API:
Atrybut lub interfejs API | Ignorowane wartości |
---|---|
screenOrientation |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity |
wszystkie |
minAspectRatio |
wszystkie |
maxAspectRatio |
wszystkie |
setRequestedOrientation() getRequestedOrientation() |
portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
Wyjątki
Wyjątki od zmian w Androidzie 16 obejmują:
Wyświetlacze mniejsze niż sw600dp (większość telefonów, składane telefony i zewnętrzne wyświetlacze składanych telefonów z dużym ekranem)
Gry oparte na fladze
android:appCategory
Opublikuj grę za pomocą pakietów Android App Bundle i podpisywania aplikacji przez Google Play, aby Google Play mogło zarządzać flagą i automatycznie zapewniać korzyści wynikające z pakietów aplikacji. Zobacz też Omówienie manifestu aplikacji.
Użytkownik wyraża zgodę na domyślne działanie aplikacji w ustawieniach proporcji obrazu
Zrezygnuj
Aby zrezygnować z zachowania na poziomie API 36, zadeklaruj właściwość pliku manifestu PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY
.
Aby zrezygnować z określonej aktywności, ustaw odpowiednią właściwość w elemencie <activity>
:
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
Aby zrezygnować z usług w całej aplikacji, ustaw odpowiednią usługę w elemencie <application>
:
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
Testy
Aby sprawdzić, czy zmiany w Androidzie 16 mają wpływ na Twoją aplikację, użyj emulatorów z serii Pixel Tablet i Pixel Fold w Android Studio i ustaw wartość targetSdkPreview = "Baklava"
w pliku modułu build.gradle
aplikacji.
Możesz też użyć na urządzeniach testowych platformy zgodności aplikacji, włączając flagę UNIVERSAL_RESIZABLE_BY_DEFAULT (patrz Narzędzia platformy zgodności).
Testowanie możesz zautomatyzować za pomocą platformy testowej Espresso i interfejsów API do testowania Jetpack Compose.
Typowe problemy
Aplikacje, które ograniczają orientację urządzenia, format obrazu lub możliwość zmiany rozmiaru aplikacji, mogą mieć problemy z wyświetlaniem na Androidzie 16, np. nakładające się układy.
Aby zapewnić optymalne wrażenia użytkownikom telefonów, urządzeń składanych, tabletów, urządzeń z ChromeOS, wyświetlaczy samochodowych i XR, zaprojektuj aplikację tak, aby była elastyczna i dostosowywała się do różnych urządzeń:
Unikaj rozciągniętych komponentów interfejsu: układy zaprojektowane z myślą o standardowych ekranach telefonów w orientacji pionowej prawdopodobnie nie będą pasować do innych proporcji. Na przykład elementy interfejsu, które wypełniają całą szerokość wyświetlacza, będą rozciągnięte w orientacji poziomej. Dodaj maksymalną szerokość komponentów, aby uniknąć rozciągania.
Włącz przewijanie układów: jeśli układy nie są przewijane, użytkownicy mogą nie mieć dostępu do przycisków ani innych elementów interfejsu, które są poza ekranem w orientacji poziomej. Włącz przewijanie układów aplikacji, aby zapewnić dostępność wszystkich treści niezależnie od wysokości wyświetlacza.
Zapewnij zgodność kamery w trybie pionowym i poziomym: podglądy w wizjerze kamery, które zakładają określony format obrazu i orientację względem czujnika kamery, mogą powodować rozciągnięte lub odwrócone podglądy na niezgodnych wyświetlaczach. Sprawdź, czy wizjery obracają się prawidłowo wraz ze zmianą orientacji. Umożliwia dostosowanie wizjerów do proporcji interfejsu, które różnią się od proporcji czujnika.
Zachowywanie stanu podczas zmiany rozmiaru okna: usunięcie ograniczeń dotyczących orientacji i proporcji może powodować częste zmiany rozmiaru okna aplikacji w zależności od tego, jak użytkownicy wolą korzystać z aplikacji, np. przez obracanie, składanie lub rozkładanie urządzenia albo zmianę rozmiaru aplikacji w trybie wielu okien lub okien na komputerze. Zmiany konfiguracji, takie jak zmiana orientacji czy rozmiaru okna, powodują ponowne utworzenie aktywności (domyślnie). Aby zapewnić optymalne wrażenia użytkownika, zachowaj stan aplikacji podczas zmian konfiguracji, aby aplikacja zachowywała dane (np. dane wpisane w formularzu), a użytkownicy mogli zachować kontekst.
Używaj klas rozmiarów okien: obsługuj różne rozmiary okien i proporcje bez dostosowywania do konkretnych urządzeń. Załóż, że rozmiary okien będą się często zmieniać. Użyj klas rozmiaru okna, aby określić wymiary okna, a następnie zastosuj odpowiedni układ adaptacyjny.
Twórz elastyczne układy: w ramach klas rozmiarów okien elastyczne układy dostosowują się do zmian wymiarów wyświetlacza, aby zawsze tworzyć optymalną prezentację aplikacji.
Oś czasu
Android 16 (2025): obsługa wszystkich orientacji i formatów obrazu oraz zmiany rozmiaru aplikacji to podstawowe funkcje na urządzeniach z dużym ekranem (najmniejsza szerokość ekranu ≥ 600 dp) w przypadku aplikacji kierowanych na poziom API 36. Deweloperzy mogą jednak zrezygnować z udziału w tym programie.
Wersja Androida w 2026 r.: obsługa wszystkich orientacji i formatów obrazu oraz możliwość zmiany rozmiaru aplikacji będzie podstawową funkcją na urządzeniach z dużym ekranem (najmniejsza szerokość ekranu ≥ 600 dp) w przypadku aplikacji kierowanych na poziom API 37. Deweloperzy nie będą mogli zrezygnować z tej funkcji.
Docelowy poziom interfejsu API | Odpowiednie urządzenia | Zezwolenie na rezygnację programisty |
---|---|---|
36 (Android 16) | Urządzenia z dużym ekranem (najmniejsza szerokość ekranu ≥ 600 dp) | Tak |
37 (przewidywane) | Urządzenia z dużym ekranem (najmniejsza szerokość ekranu ≥ 600 dp) | Nie |
Terminy kierowania na określone poziomy interfejsu API zależą od sklepu z aplikacjami. Od sierpnia 2026 r. Google Play będzie wymagać, aby aplikacje były kierowane na poziom API 36, a od sierpnia 2027 r. – na poziom API 37.
Dodatkowe materiały
- Zmiany w działaniu: aplikacje kierowane na urządzenia z Androidem 16 lub nowszym
- Tworzenie aplikacji adaptacyjnych
- Zalecenia i ograniczenia dotyczące reklam adaptacyjnych