Особенности и изменения 12L

Благодаря обновлению 12L, Android 12 стал еще лучше на больших экранах.

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

Начать можно с загрузки эмулятора 12L или с установки 12L на устройство партнера .

Вот что нового.

Операционная система, оптимизированная для больших экранов.

В версии 12L пользовательский интерфейс системы улучшен, он стал красивее и удобнее в использовании на больших экранах — в уведомлениях, быстрых настройках, на экране блокировки, в обзоре, на главном экране и во многом другом.

На больших экранах панель уведомлений эффективно использует пространство, отображая быстрые настройки и уведомления в новом двухколоночном формате. Экран блокировки также использует более крупный двухколоночный формат для выделения уведомлений и часов, а системные приложения, такие как «Настройки», также оптимизированы.

Для больших экранов используется двухколоночный макет, отображающий больше контента.

Мы также сосредоточились на упрощении ключевых взаимодействий на больших экранах. Например, элементы управления графическим ключом и PIN-кодом на планшетах теперь отображаются сбоку экрана для удобства доступа, и пользователи могут просто коснуться другой стороны экрана, чтобы переместить элементы управления PIN-кодом/графическим ключом на эту сторону.

Для складных устройств мы оптимизировали сетку главного экрана и доработали переход между сложенным и разложенным состоянием, чтобы пользователи плавно переходили с одного внешнего экрана на больший разложенный экран, обеспечивая непрерывность и сохраняя при этом возможность выбора.

Для разработчиков: Изменение в проекции медиаконтента

Начиная с версии 12L, при отображении виртуального изображения на поверхности, оно масштабируется в соответствии с размером поверхности с помощью процесса, аналогичного параметру centerInside в ImageView .

Новый подход к масштабированию улучшает трансляцию изображения на телевизоры и другие большие дисплеи, максимизируя размер изображения на поверхности и обеспечивая при этом правильное соотношение сторон.

Для получения более подробной информации см. раздел «Проекция медиаконтента на большие экраны» .

Мощная и интуитивно понятная многозадачность

Пользователи часто работают в многозадачном режиме при использовании больших экранов планшетов, Chromebook и складных устройств. В 12L новые функции повышения производительности делают многозадачность еще более эффективной и интуитивно понятной.

В версии 12L добавлена ​​новая панель задач, которая упрощает запуск и переключение приложений на лету. Жесты делают использование панели задач еще быстрее: перетаскивание позволяет перейти в режим разделенного экрана, а свайп вверх — вернуться на главный экран. В навигации жестами быстрый жест переключения позволяет пользователям переключаться между недавно использованными приложениями. Пользователи могут в любой момент отобразить или скрыть панель задач долгим нажатием.

Панель задач позволяет пользователям быстрее запускать и переключаться между приложениями, перетаскивать элементы для перехода в режим разделенного экрана и проводить пальцем вверх для возврата на главный экран.

Запуск приложений в режиме разделенного экрана — популярный способ многозадачности, и в 12L мы сделали режим разделенного экрана проще, чем когда-либо, — его легко найти и использовать. Теперь пользователи могут перетаскивать свои любимые приложения в режим разделенного экрана прямо с панели задач, или же использовать новое действие «Разделить» в обзоре, чтобы запустить режим разделенного экрана одним касанием.

Для обеспечения более комфортного использования режима разделенного экрана, Android 12 и более поздние версии позволяют всем приложениям переходить в многооконный режим , независимо от того, можно ли изменять их размер.

Для разработчиков: тестируйте свои приложения в режиме разделенного экрана.

В связи с тем, что режим разделенного экрана стал более доступным, а в Android 12 появилось изменение, позволяющее пользователям запускать все приложения в режиме разделенного экрана, мы настоятельно рекомендуем тестировать ваши приложения именно в этом режиме.

Для разработчиков: Обработка динамических изменений размеров отступов.

Новая панель задач отображается приложениям как отступ, хотя в версии 12L новый API для работы с отступами не представлен.

При использовании с навигацией жестами панель задач может динамически скрываться и отображаться. Если ваше приложение уже использует информацию о внутреннем отступе для отрисовки пользовательского интерфейса, необходимо учитывать возможность изменения размера внутреннего отступа во время возобновления работы приложения. В таких случаях вашему приложению необходимо вызвать setOnApplyWindowInsetsListener и обработать изменения размеров внутреннего отступа, как описано в разделе «Внутренние отступы системных панелей» .

Улучшена совместимость.

Многие приложения уже оптимизированы для устройств с большими экранами и предлагают отличные возможности благодаря адаптивному дизайну, поддержке многооконного режима, неизменности размера экрана и изменению положения устройства, и многому другому.

Для приложений, которые еще не оптимизированы, мы внесли визуальные улучшения и повысили стабильность работы в режиме совместимости, чтобы обеспечить пользователям более комфортное взаимодействие и улучшить внешний вид этих приложений по умолчанию.

Улучшения в режиме совместимости обеспечивают более удобное взаимодействие с приложениями, не оптимизированными для больших экранов.

Мы улучшили пользовательский интерфейс для отображения черных полос по краям экрана, добавив ряд настраиваемых параметров, которые могут быть изменены производителями устройств с помощью конфигураций наложения. Например, производители устройств теперь могут настраивать соотношение сторон приложения, закруглять углы окна приложения и устанавливать прозрачность строки состояния.

Для разработчиков: проверьте совместимость ваших приложений.

Если ваше приложение еще не оптимизировано для адаптации к размеру экрана и изменению положения устройства, оно может запускаться в режиме совместимости. Мы рекомендуем протестировать ваше приложение в режиме совместимости с 12L, чтобы убедиться, что оно выглядит и функционирует должным образом.

Для получения более подробной информации см. режим совместимости устройств .

Больше обновлений и ресурсов для больших экранов.

Изменения в Google Play на больших экранах

Чтобы упростить поиск лучших приложений для планшетов, складных устройств и устройств ChromeOS, Google Play внес изменения, позволяющие выделять приложения, оптимизированные для этих устройств.

Внесены новые проверки для оценки качества каждого приложения в соответствии с нашими рекомендациями по качеству приложений для больших экранов, чтобы гарантировать, что мы предлагаем лучшие приложения для таких устройств. Если приложение не оптимизировано для больших экранов, пользователи больших экранов теперь видят уведомление на странице приложения в Play Store, которое поможет им найти приложения, которые лучше всего подойдут для их устройства.

В августе 2021 года Play Games также вводит систему оценок приложений, специально предназначенную для больших экранов, так что пользователи смогут оценить, как ваше приложение работает на их устройствах с большими экранами.

Встраивание Activity с помощью Jetpack WindowManager

Встраивание Activity позволяет использовать преимущества дополнительной области отображения больших экранов, показывая несколько Activity одновременно, например, в шаблоне «Список-Подробности», и требует минимальной или вообще никакой рефакторизации вашего приложения. Вы определяете, как ваше приложение отображает Activity — рядом или друг над другом — создавая XML-файл конфигурации или выполняя вызовы API Jetpack WindowManager. Система обрабатывает остальное, определяя представление на основе созданной вами конфигурации. Если ваше приложение использует несколько Activity, мы рекомендуем попробовать встраивание Activity. Чтобы узнать больше, см. раздел «Встраивание Activity» .

Запрос на ориентацию устройства

В отличие от стандартных телефонов, складные устройства и планшеты часто используются как в альбомной, так и в портретной ориентации. Планшеты обычно устанавливаются в альбомном положении, тогда как складные устройства могут быть ориентированы в зависимости от их формы.

Некоторые приложения запрашивают фиксированную ориентацию в портретном или альбомном режиме и ожидают, что останутся в предпочитаемой ориентации независимо от ориентации устройства (см. атрибут screenOrientation в манифесте). Хотя это по-прежнему поддерживается в версии 12L, производители устройств имеют возможность переопределить запрос приложения на предпочтительную ориентацию.

В Android 12 (уровень API 31) и выше производители устройств могут настраивать отдельные экраны устройств (например, экраны планшетов) таким образом, чтобы игнорировать спецификацию ориентации и принудительно отображать приложение в портретном режиме вертикально, но с черными полосами сверху и снизу на горизонтальных экранах. Игнорируя спецификацию, Android может лучше соответствовать намерению разработчика всегда отображать приложение с фиксированным соотношением сторон, сохраняя при этом оптимальную ориентацию приложения для удобства использования.

Однако для обеспечения наилучшего пользовательского опыта разрабатывайте приложения с адаптивным дизайном, который максимально эффективно использует доступное пространство экрана как в портретной, так и в альбомной ориентации на экранах с разрешением более 600 dp.

Подготовьте свои приложения

Поскольку обновление до версии 12L становится доступным для все большего числа устройств с большими экранами, сейчас самое время протестировать свои приложения и оптимизировать их для больших экранов.

Начать можно с установки эмулятора 12L или с установки 12L на устройство партнера . Вы сможете увидеть последние изменения в пользовательском интерфейсе системы для больших экранов, протестировать свои приложения с панелью задач и в режиме разделенного экрана, проверить приложение в режиме совместимости и даже попробовать встраивание активности с помощью API Jetpack WindowManager.

Используйте новое определение устройства с изменяемым размером для эмулятора Android, чтобы протестировать 12L в различных сценариях с большими экранами.

Если вы только начинаете разрабатывать приложения для больших экранов, ознакомьтесь с руководствами по большим экранам и складным устройствам, чтобы узнать о последних рекомендациях и методах создания превосходных приложений для этих устройств.

Что тестировать

После создания виртуальных устройств для 12L вам потребуется протестировать приложение на нескольких распространенных сценариях использования больших экранов, чтобы убедиться, что оно работает так, как вы хотите. Вот несколько рекомендуемых областей со ссылками на более подробную информацию о связанных ресурсах, которые помогут вам оптимизировать ваше приложение для больших экранов:

Что тестировать Ресурсы
Размеры экрана, положение устройства и поворот

Проверьте, как ваше приложение реагирует на изменение размера экрана из-за изменения положения устройства (например, при раскладывании складного устройства или переводе его в настольный режим). Также попробуйте повернуть устройство в каждом из этих состояний, чтобы убедиться в оптимальной работе приложения.

Документация Образцы Кодлабс Технические доклады
Взаимодействие с панелью задач и режим разделенного экрана

Проверьте, как ваше приложение реагирует при просмотре с панелью задач на больших экранах. Убедитесь, что пользовательский интерфейс вашего приложения не обрезается и не блокируется панелью задач, попробуйте входить и выходить из режимов разделенного экрана и многооконного режима с помощью панели задач, а также протестируйте быстрое переключение между вашим приложением и другими приложениями с помощью панели задач.

Если ваше приложение имеет фиксированную ориентацию и не изменяет размер, проверьте, как оно реагирует на изменения в режиме совместимости, такие как черные полосы по бокам.

Документация Образцы Технические доклады
Многооконный режим

Проверьте, как ваше приложение реагирует при работе в многооконном режиме на больших экранах (sw >= 600dp), особенно если в вашем приложении установлено resizeableActivity="false" .

Если в вашем приложении установлено resizeableActivity="true" , обязательно проверьте, как приложение реагирует при работе в многооконном режиме на небольших экранах (sw < 600dp).

Если ваше приложение использует API отображения, такие как Display.getRealSize() и Display.getRealMetrics() , используйте вместо них API WindowMetrics из библиотеки Jetpack WindowManager .

Документация Образцы Технические доклады
Проекция СМИ

Если ваше приложение использует проекцию мультимедиа, проверьте, как оно реагирует при воспроизведении, потоковой передаче или трансляции мультимедиа на устройствах с большими экранами. Также обязательно учитывайте изменения положения устройства на складных устройствах.

Документация Образцы Технические доклады
Предварительный просмотр камеры

Для приложений камеры проверьте, как интерфейс предварительного просмотра камеры реагирует на больших экранах, когда приложение ограничено частью экрана в многооконном или разделенном режиме. Также проверьте, как приложение реагирует на изменение положения складного устройства.

Документация