12L — это специальный выпуск функций, который делает Android 12 еще лучше на больших экранах. Мы оптимизировали и отполировали системный пользовательский интерфейс для больших экранов, сделали многозадачность более мощной и интуитивно понятной и улучшили нашу поддержку совместимости для приложений, чтобы они выглядели лучше по умолчанию. Мы также добавили несколько API для разработчиков.
Вы можете начать работу, загрузив эмулятор 12L или получив 12L на партнерском устройстве .
Вот что нового.
ОС, оптимизированная для больших экранов
12L улучшает пользовательский интерфейс системы, делая его более привлекательным и удобным для использования на больших экранах — уведомления, быстрые настройки, экран блокировки, обзор, главный экран и многое другое.
На больших экранах панель уведомлений использует пространство, показывая быстрые настройки и уведомления в новом двухколоночном макете. Экран блокировки также использует более крупный двухколоночный макет для выделения уведомлений и часов, а системные приложения, такие как «Настройки», также оптимизированы.

Мы также сосредоточились на том, чтобы сделать ключевые взаимодействия более простыми на больших экранах. Например, элементы управления рисунком экрана блокировки и PIN-кодом на планшетах теперь отображаются сбоку экрана для более легкого доступа, и пользователи могут просто коснуться другой стороны экрана, чтобы перенести элементы управления PIN-кодом/PIN-кодом на эту сторону.
Для складных устройств мы оптимизировали сетку главного экрана и усовершенствовали переход от складывания к раскладыванию, чтобы пользователи могли плавно переходить от одного внешнего экрана к большему развернутому экрану, усиливая непрерывность и сохраняя при этом возможность выбора.
Для разработчиков: изменение в проекции медиа
Начиная с версии 12L, при отображении виртуального дисплея на поверхности он масштабируется для соответствия поверхности с использованием процесса, аналогичного параметру centerInside
в ImageView
.
Новый подход к масштабированию улучшает трансляцию экрана на телевизоры и другие большие дисплеи за счет максимального увеличения размера изображения на поверхности и обеспечения надлежащего соотношения сторон.
Более подробную информацию см. в разделе Проекция медиа на большие экраны .
Мощная и интуитивно понятная многозадачность
Пользователи часто выполняют несколько задач одновременно, используя большие экраны планшетов, Chromebook и складных устройств. В 12L новые функции производительности делают многозадачность еще более мощной и интуитивно понятной.
12L добавляет новую панель задач, которая упрощает запуск и переключение приложений на лету. Жесты делают использование панели задач еще более быстрым, с перетаскиванием для перехода в режим разделенного экрана и смахиванием вверх для перехода домой. В навигации жестами жест быстрого переключения позволяет пользователям пролистывать последние приложения. Пользователи могут отобразить или скрыть панель задач в любое время с помощью длительного нажатия.

Запуск приложений в режиме разделенного экрана — популярный способ многозадачности, и в 12L мы сделали разделенный экран более простым для обнаружения и использования. Теперь пользователи могут перетаскивать свои любимые приложения на разделенный экран прямо с панели задач или использовать новое действие «Разделить» в обзоре, чтобы запустить режим разделенного экрана одним нажатием.
Чтобы сделать разделенный экран более удобным для пользователей, Android 12 и более поздние версии позволяют всем приложениям переходить в многооконный режим , независимо от того, можно ли изменять их размер.
Для разработчиков: протестируйте свои приложения в режиме разделенного экрана
Поскольку режим разделенного экрана становится все более доступным, а также с учетом изменений в Android 12, которые позволяют пользователям запускать все приложения в режиме разделенного экрана, мы настоятельно рекомендуем вам тестировать свои приложения в режиме разделенного экрана.
Для разработчиков: обработка динамических изменений размеров вставок
Новая панель задач отображается в приложениях как Inset, хотя в версии 12L не представлен новый API Inset.
При использовании с навигацией жестами панель задач может быть скрыта и отображена динамически. Если ваше приложение уже использует информацию о вставке для отрисовки своего пользовательского интерфейса, необходимо учитывать возможность изменения размера вставки, пока приложение находится в возобновленном состоянии. В этих случаях вашему приложению необходимо вызвать setOnApplyWindowInsetsListener
и обработать изменения размеров вставки, как описано в разделе Вставки системных панелей .
Улучшенная совместимость
Многие приложения уже оптимизированы для устройств с большим экраном и предлагают великолепные возможности благодаря адаптивным макетам, поддержке многооконного режима, непрерывности при изменении размера экрана и положения устройства и многому другому.
Для приложений, которые еще не оптимизированы, мы внесли визуальные улучшения и улучшили стабильность в наш режим совместимости, чтобы обеспечить пользователям лучший опыт и сделать так, чтобы эти приложения выглядели лучше по умолчанию.

Мы улучшили пользовательский интерфейс для letterboxing, сделав ряд опций настраиваемыми производителями устройств через конфигурации наложения. Например, производители устройств теперь могут настраивать соотношение сторон приложения, применять скругленные углы к окну приложения и устанавливать прозрачность строки состояния.
Для разработчиков: проверьте свои приложения в режиме совместимости
Если ваше приложение еще не оптимизировано для адаптации к изменениям размера экрана и положения устройства, оно может быть запущено в режиме совместимости. Мы рекомендуем протестировать приложение с режимами совместимости 12L, чтобы убедиться, что оно выглядит и функционирует правильно.
Более подробную информацию см. в разделе Режим совместимости устройств .
Больше обновлений и ресурсов для больших экранов
Изменения в Google Play на больших экранах
Чтобы пользователям было проще находить лучшие приложения на планшетах, складных устройствах и устройствах ChromeOS, Google Play вносит изменения, чтобы выделить приложения, оптимизированные для их устройств.
Добавлены новые проверки для оценки качества каждого приложения в соответствии с нашими рекомендациями по качеству приложений для больших экранов, чтобы гарантировать, что мы представляем наилучшие возможные приложения для этих устройств. Если приложение не оптимизировано для больших экранов, пользователи больших экранов теперь видят уведомление на странице списка приложений в Play Store, чтобы помочь им найти приложения, которые будут лучше всего работать на их устройстве.
Play также вводит рейтинги приложений для больших экранов, о чем было объявлено в августе 2021 года , чтобы пользователи могли оценить, как ваше приложение работает на устройствах с большим экраном.
Внедрение активности с помощью Jetpack WindowManager
Встраивание активности позволяет вам воспользоваться дополнительной областью отображения больших экранов, показывая несколько активностей одновременно, например, для шаблона List-Detail, и это требует незначительного или нулевого рефакторинга вашего приложения. Вы определяете, как ваше приложение отображает свои активности — бок о бок или в стопке — создавая файл конфигурации XML или выполняя вызовы API Jetpack WindowManager. Система обрабатывает все остальное, определяя представление на основе созданной вами конфигурации. Если ваше приложение использует несколько активностей, мы рекомендуем попробовать встраивание активности. Чтобы узнать больше, см. Встраивание активности .
Запрос ориентации устройства
В отличие от стандартных телефонов, складные устройства и планшеты часто используются как в альбомной, так и в портретной ориентации. Планшеты часто устанавливаются в альбомной ориентации, в то время как складные устройства могут быть ориентированы в зависимости от их сгиба.
Некоторые приложения запрашивают фиксированную ориентацию в портретной или альбомной ориентации и ожидают, что останутся в своей предпочтительной ориентации независимо от ориентации устройства (см. атрибут манифеста screenOrientation
). Хотя это все еще поддерживается в 12L, производители устройств имеют возможность переопределить запрос приложения на предпочтительную ориентацию.
В Android 12 (уровень API 31) и выше производители устройств могут настраивать отдельные экраны устройств (например, экран планшетного размера складного устройства) для игнорирования спецификации ориентации и принудительного отображения приложения в портретном режиме в вертикальном положении, но в виде почтового ящика на дисплеях с альбомной ориентацией. Игнорируя спецификацию, Android может лучше соответствовать намерению разработчика всегда представлять приложение в фиксированном соотношении сторон, сохраняя при этом ориентацию приложения для оптимального удобства использования.
Однако для лучшего пользовательского опыта создавайте приложения с адаптивными макетами, которые в полной мере используют доступное пространство экрана как в портретной, так и в альбомной ориентации на экранах с разрешением более 600 точек на дюйм.
Подготовьте свои приложения
Поскольку поддержка функций 12L распространяется на все большее число устройств с большими экранами, сейчас самое время протестировать свои приложения и оптимизировать их для больших экранов.
Вы можете начать с настройки эмулятора 12L или получить 12L на партнерском устройстве . Вы сможете увидеть последние изменения пользовательского интерфейса системы для больших экранов, попробовать свои приложения с панелью задач и режимом разделенного экрана, протестировать свое приложение в режиме совместимости и даже попробовать встраивание активности с помощью API Jetpack WindowManager.

Если вы только начинаете разработку приложений для больших экранов, ознакомьтесь с руководствами по большим экранам и складным устройствам, чтобы ознакомиться с новейшими рекомендациями и методиками создания отличных приложений на этих устройствах.
Что тестировать
После создания виртуальных устройств для 12L вам захочется протестировать свое приложение с некоторыми распространенными вариантами использования большого экрана, чтобы убедиться, что ваше приложение реагирует так, как вам нужно. Вот несколько рекомендуемых областей со ссылками на более подробную информацию о связанных ресурсах, которые могут помочь вам оптимизировать ваше приложение для больших экранов:
Что тестировать | Ресурсы |
---|---|
Размеры экрана, положение устройства и поворот Проверьте, как ваше приложение реагирует на изменение размера экрана из-за изменения положения устройства (например, при раскладывании складного устройства или переводе складного устройства в режим стола). Также попробуйте повернуть устройство в каждом из этих состояний, чтобы убедиться, что ваше приложение реагирует оптимально. | Документация Образцы Кодовые лаборатории Технические переговоры |
Взаимодействие с панелью задач и режим разделенного экрана Проверьте, как ваше приложение реагирует при просмотре с панелью задач на больших экранах. Проверьте, что пользовательский интерфейс вашего приложения не обрезан и не заблокирован панелью задач, попробуйте войти и выйти из режимов разделенного экрана и многооконного режима с помощью панели задач и протестируйте быстрое переключение между вашим приложением и другими приложениями с помощью панели задач. Если ваше приложение имеет фиксированную ориентацию и не поддерживает изменение размера, проверьте, как ваше приложение реагирует на настройки режима совместимости, такие как letterboxing. | Документация Образцы Технические переговоры |
Многооконный режим Проверьте, как ваше приложение реагирует при работе в многооконном режиме на больших экранах (sw >= 600dp), особенно если ваше приложение устанавливает Если ваше приложение устанавливает Если ваше приложение использует API отображения, такие как | Документация Образцы Технические переговоры |
Медиа-проекция Если ваше приложение использует проекцию медиа, проверьте, как оно реагирует на воспроизведение, потоковую передачу или трансляцию медиа на устройствах с большим экраном. Обязательно учитывайте изменения положения устройства на складных устройствах. | Документация Образцы Технические переговоры |
Предварительный просмотр камеры Для приложений камеры проверьте, как ваш пользовательский интерфейс предварительного просмотра камеры реагирует на больших экранах, когда ваше приложение ограничено частью экрана в многооконном или разделенном режиме. Также проверьте, как ваше приложение реагирует на изменение положения складного устройства. | Документация |