Особенности и изменения 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 и обработать изменения в размерах вставки, как описано в разделе «Системные панели insets» .

Улучшенный опыт совместимости

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

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

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

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

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

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

Подробнее см. в разделе Режим совместимости устройств .

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

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

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

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

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

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

Внедрение действий позволяет вам воспользоваться дополнительной областью отображения больших экранов, показывая несколько действий одновременно, например, для шаблона List-Detail, и практически не требует рефакторинга вашего приложения. Вы определяете, как ваше приложение отображает свои действия — рядом или в стопке — путем создания файла конфигурации XML или выполнения вызовов API Jetpack WindowManager. Остальное сделает система, определяя презентацию на основе созданной вами конфигурации. Если ваше приложение использует несколько действий, мы рекомендуем попробовать встроить действия. Дополнительные сведения см. в разделе Встраивание действий .

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

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

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

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

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

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

Поскольку функция 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 .

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

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

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

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

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