Приложения для Android работают на устройствах всех типов: телефонах, планшетах, складных устройствах, устройствах ChromeOS, автомобилях, телевизорах и даже устройствах XR. Чтобы адаптироваться к этой разнообразной среде, ваше приложение должно поддерживать все форм-факторы устройств и размеры экранов.
Android 16 (уровень API 36) позволяет приложениям адаптироваться к различным форм-факторам и размерам дисплея, переопределяя ограничения приложений в отношении ориентации экрана, соотношения сторон и возможности изменения размера. Эти ограничения применяются к устройствам с минимальной шириной >= 600dp, что определяет следующие параметры:
- Таблетки
- Внутренние дисплеи складных экранов большого размера
- Оконный режим рабочего стола (на всех форм-факторах)
Приложения, ориентированные на API уровня 36, могут изменять размер и переходить в многооконный режим (эквивалентно resizeableActivity="true" ), если минимальная ширина экрана составляет >= 600dp.

Android 16 внедряет согласованную модель адаптивного дизайна приложений, которая оптимизирует пользовательский опыт, учитывая предпочтения пользователя в отношении ориентации устройства, соотношения сторон и размера экрана.
Изменения
Следующие атрибуты манифеста и API игнорируются для приложений, ориентированных на Android 16 (уровень API 36) и работающих на больших экранах:
| Атрибут или API | Игнорируемые значения |
|---|---|
screenOrientation | portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
resizeableActivity | все |
minAspectRatio | все |
maxAspectRatio | все |
setRequestedOrientation()getRequestedOrientation() | portrait , landscape , reversePortrait , reverseLandscape , sensorPortrait , sensorLandscape , userPortrait , userLandscape |
Исключения
Исключения из изменений в Android 16 включают следующее:
Дисплеи меньше sw600dp (большинство телефонов, раскладных устройств и внешние дисплеи больших складных устройств).
Игры, основанные на флаге
android:appCategoryОпубликуйте свою игру, используя Android App Bundles и Play App Signing, что позволит Google Play управлять флагом и автоматически предоставлять преимущества пакетов приложений. См. также Обзор манифеста приложения .
Пользователь сам выбирает поведение приложения по умолчанию в настройках соотношения сторон.
Уклоняться
Чтобы отказаться от поведения API уровня 36, объявите свойство манифеста PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY .
Чтобы отказаться от определенного действия, задайте свойство в элементе <activity> :
<activity ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</activity>
Чтобы отказаться от всего приложения, задайте свойство в элементе <application> :
<application ...>
<property
android:name="android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY"
android:value="true" />
...
</application>
Тесты
Чтобы проверить, повлияли ли изменения в Android 16 на ваше приложение, используйте эмуляторы Pixel Tablet и Pixel Fold в Android Studio и установите targetSdkPreview = "Baklava" в файле build.gradle модуля вашего приложения.
Или используйте платформу совместимости приложений на тестовых устройствах, включив флаг UNIVERSAL_RESIZABLE_BY_DEFAULT (см. Инструменты платформы совместимости ).
Автоматизировать тестирование можно с помощью фреймворка тестирования Espresso и API тестирования Jetpack Compose .
Руководство по внедрению
Приложения, ограничивающие ориентацию устройства, соотношение сторон или возможность изменения размера, могут иметь проблемы с отображением на Android 16, например, перекрытие элементов. Для обеспечения оптимального пользовательского опыта на телефонах, складных устройствах, планшетах, устройствах ChromeOS и других устройствах, создавайте адаптивные и отзывчивые приложения.
Контрольный список готовности
Воспользуйтесь следующим контрольным списком, чтобы убедиться в готовности вашего приложения к изменениям в Android 16:
- Избегайте растянутых элементов пользовательского интерфейса: макеты, разработанные для стандартных экранов телефонов в портретном режиме, могут не учитывать другие соотношения сторон. Например, элементы пользовательского интерфейса, занимающие всю ширину экрана, могут выглядеть растянутыми в альбомной ориентации. Добавьте максимальную ширину к компонентам, чтобы избежать растягивания.
- Включите прокрутку макетов: если макеты не прокручиваются, пользователи могут не иметь доступа к кнопкам или другим элементам пользовательского интерфейса, находящимся за пределами экрана в альбомной ориентации. Включите прокрутку макетов приложения, чтобы убедиться, что весь контент доступен независимо от высоты экрана.
- Проверьте совместимость камеры в портретном и альбомном режимах: предварительный просмотр в видоискателе, предполагающий определенное соотношение сторон и ориентацию относительно датчика камеры, может приводить к растянутому или перевернутому изображению на несовместимых дисплеях. Убедитесь, что видоискатели правильно поворачиваются при изменении ориентации. Включите функцию адаптации видоискателей к соотношению сторон пользовательского интерфейса, отличающемуся от соотношения сторон датчика.
- Сохранение состояния при изменении размера окна: Снятие ограничений по ориентации и соотношению сторон может привести к частым изменениям размера окна приложения в зависимости от предпочтений пользователей, например, при повороте, складывании или разворачивании устройства, а также при изменении размера приложения в многооконном или оконном режиме. Изменения конфигурации, такие как изменение ориентации и изменение размера окна, приводят к воссозданию активности (по умолчанию). Для обеспечения оптимального пользовательского опыта сохраняйте состояние приложения , чтобы оно сохраняло данные (например, данные формы), и пользователи могли сохранять контекст.
- Используйте классы размеров окон: Поддерживайте различные размеры окон и соотношения сторон без необходимости настройки под конкретное устройство. Предполагайте, что размеры окон будут часто меняться. Используйте классы размеров окон для определения размеров окон, а затем применяйте соответствующую адаптивную компоновку.
- Создавайте адаптивные макеты: в рамках классов размеров окна адаптивные макеты подстраиваются под изменения размеров экрана, чтобы всегда создавать оптимальное отображение приложения.
Практическое руководство по созданию адаптивных макетов в Compose см. в практическом руководстве « Создание адаптивных приложений с помощью Jetpack Compose» . Если вы переносите приложение, использующее представления, см. в разделе «Стратегия внедрения Compose» .
Хронология
- Android 16 (2025): Поддержка всех ориентаций и соотношений сторон, а также возможность изменения размера приложений является базовой функцией для устройств с большими экранами (наименьшая ширина экрана >= 600dp) для приложений, ориентированных на API уровня 36. Однако разработчики могут отказаться от этой функции.
| Целевой уровень API | Применимые устройства | Разработчику разрешено отказаться от участия |
|---|---|---|
| 36 (Android 16) | Устройства с большим экраном (наименьшая ширина экрана >= 600dp) | Да |
Сроки перехода на определенные уровни API зависят от конкретного магазина приложений. Google Play потребует от приложений перехода на уровень API 36 начиная с августа 2026 года.
Дополнительные ресурсы
- Изменения в поведении: приложения, ориентированные на Android 16 и выше.
- Создавайте адаптивные приложения
- Что следует и чего не следует делать при адаптации