12L – это специальный пакет функций, который делает Android 12 ещё удобнее на больших экранах. Мы оптимизировали и улучшили системный интерфейс для больших экранов, сделали многозадачность более мощной и интуитивно понятной, а также улучшили поддержку совместимости приложений, чтобы они выглядели лучше по умолчанию. Мы также добавили несколько API для разработчиков.
Чтобы начать, скачайте эмулятор 12L или установите 12L на партнерское устройство.
Ниже вас ждет подробный рассказ о новых функциях.
ОС, оптимизированная для больших экранов
В 12L мы усовершенствовали интерфейс, чтобы он выглядел привлекательнее и был удобнее на больших экранах. Изменения коснулись уведомлений, быстрых настроек, экрана блокировки, режима обзора, главного экрана и других элементов.
На больших экранах панель уведомлений разделена на два столбца: в одном находятся быстрые настройки, а в другом – уведомления. Заблокированный экран также использует более крупный двухколоночный макет, чтобы выделить уведомления и часы, а системные приложения, такие как Настройки, также оптимизированы.
Мы также упростили основные действия на больших экранах. Например, на планшетах элементы управления графическим ключом и PIN-кодом на заблокированном экране теперь отображаются сбоку экрана, чтобы их было проще вводить. Пользователи могут просто нажать на другую сторону экрана, чтобы переместить их туда.
Для складных устройств мы оптимизировали сетку главного экрана и улучшили переход между сложенным и разложенным состояниями. Теперь пользователи могут легко переключаться между внешним и внутренним экранами, сохраняя непрерывность работы и свои настройки.
Для разработчиков: изменение проекции медиаконтента
Начиная с версии 12L, при отрисовке виртуального дисплея на поверхности он масштабируется по размеру поверхности с помощью процесса, аналогичного параметру centerInside в ImageView.
Новый подход к масштабированию улучшает трансляцию экрана на телевизоры и другие большие дисплеи, увеличивая размер изображения на поверхности и обеспечивая правильное соотношение сторон.
Подробнее о трансляции медиаконтента на больших экранах…
Мощная и интуитивно понятная многозадачность
Пользователи часто выполняют несколько задач одновременно на больших экранах планшетов, устройств Chromebook и складных устройств. В 12L появились новые функции, которые делают многозадачность ещё более эффективной и интуитивно понятной.
В 12L добавлена новая панель задач, которая упрощает запуск приложений и переключение между ними. Жесты делают работу с панелью задач ещё быстрее. Например, чтобы перейти в режим разделенного экрана, достаточно перетащить приложение, а чтобы вернуться на главный экран – провести вверх. При навигации жестами, жест быстрого переключения позволяет пользователям пролистывать недавние приложения. Пользователи могут в любой момент показать или скрыть панель задач долгим нажатием.
Запуск приложений в режиме разделения экрана – популярный способ многозадачности, и в 12L мы сделали разделение экрана более простым и удобным, чем когда-либо. Теперь пользователи могут перетаскивать любимые приложения на разделенный экран прямо с панели задач или использовать новое действие "Разделить" в обзоре, чтобы запустить режим разделенного экрана одним нажатием.
Чтобы сделать разделение экрана более удобным для пользователей, в Android 12 и более поздних версиях все приложения могут работать в многооконном режиме, независимо от того, поддерживают ли они изменение размера.
Для разработчиков: как протестировать приложение в режиме разделения экрана
Поскольку режим разделенного экрана становится все более доступным, а в Android 12 пользователи могут запускать в нем любые приложения, мы настоятельно рекомендуем протестировать ваши приложения в этом режиме.
Для разработчиков: как обрабатывать динамические изменения размеров вставок
Новая панель задач передается приложениям как вставка, хотя в 12L нет нового API для вставок.
При использовании навигации жестами панель задач можно скрывать и показывать динамически. Если ваше приложение уже использует информацию о вставках для отрисовки интерфейса, оно должно учитывать возможность изменения размера вставки, когда приложение находится в возобновленном состоянии. В таких случаях приложению нужно вызывать setOnApplyWindowInsetsListener и обрабатывать изменения размеров отступов, как описано в разделе Отступы системных строк.
Улучшенная совместимость
Многие приложения уже оптимизированы для устройств с большими экранами и предлагают отличные возможности благодаря адаптивным макетам, поддержке многооконного режима, непрерывности при изменении размера экрана и положения устройства и многому другому.
Для приложений, которые ещё не оптимизированы, мы улучшили режим совместимости, чтобы они выглядели лучше и работали стабильнее.
Мы улучшили интерфейс кашетирования, добавив ряд параметров, которые производители устройств могут настраивать с помощью конфигураций оверлея. Например, теперь производители устройств могут настраивать соотношение сторон приложения, применять закругленные углы к окну приложения и устанавливать прозрачность строки состояния.
Для разработчиков: как проверить приложения в режиме совместимости
Если ваше приложение ещё не оптимизировано для адаптации к размеру экрана и изменениям положения устройства, оно может быть запущено в режиме совместимости. Рекомендуем протестировать приложение в режимах совместимости с 12L, чтобы убедиться, что оно выглядит и работает правильно.
Подробнее о режиме совместимости устройств…
Дополнительные обновления и ресурсы для больших экранов
Изменения в Google Play на больших экранах
Чтобы пользователям было проще находить приложения, оптимизированные для планшетов, складных устройств и устройств с ChromeOS, мы внесли изменения в Google Play.
Мы добавили новые проверки, чтобы оценивать качество каждого приложения в соответствии с нашими рекомендациями по обеспечению качества приложений для больших экранов. Это позволяет нам показывать на таких устройствах только лучшие приложения. Если приложение не оптимизировано для больших экранов, пользователи таких устройств увидят уведомление об этом на странице приложения в Google Play. Это поможет им находить приложения, которые лучше всего подходят для их устройств.
Кроме того, в Google Play появятся оценки приложений, выставленные пользователями устройств с большими экранами. Мы анонсировали это изменение в августе 2021 года.
Встраивание объектов activity с помощью Jetpack WindowManager
Встраивание действий позволяет использовать дополнительную область отображения больших экранов, показывая несколько действий одновременно, например для шаблона "Список – сведения". При этом рефакторинг приложения практически не требуется. Вы определяете, как приложение отображает свои действия – рядом или друг над другом, – создавая XML-файл конфигурации или выполняя вызовы API Jetpack WindowManager. Остальное система сделает сама, определив презентацию на основе созданной вами конфигурации. Если в вашем приложении используется несколько действий, рекомендуем попробовать встраивание действий. Подробнее о встраивании действий…
Запрос ориентации устройства
В отличие от стандартных телефонов, складные устройства и планшеты часто используются как в альбомной, так и в портретной ориентации. Планшеты часто устанавливаются в док-станцию в горизонтальном положении, а складные устройства можно ориентировать в зависимости от их сгиба.
Некоторые приложения запрашивают фиксированную ориентацию (вертикальную или горизонтальную) и остаются в ней независимо от ориентации устройства (см. атрибут манифеста screenOrientation). Хотя эта функция по-прежнему поддерживается в 12L, производители устройств могут переопределять запрос приложения на предпочтительную ориентацию.
В Android 12 (уровень API 31) и более поздних версиях производители устройств могут настраивать отдельные экраны устройств (например, экран складного устройства размером с планшет) так, чтобы игнорировать спецификацию ориентации и принудительно отображать приложение в портретном режиме в вертикальном положении, но с кашетированием на горизонтальных дисплеях. Игнорируя спецификацию, Android может лучше реализовать намерение разработчика всегда представлять приложение с фиксированным соотношением сторон, сохраняя при этом ориентацию приложения для оптимального удобства использования.
Однако для удобства пользователей рекомендуем создавать адаптивные макеты, которые позволяют полностью использовать доступное пространство экрана в портретной и альбомной ориентации на экранах размером более 600 dp.
Подготовьте приложения
Поскольку обновление 12L Feature Drop становится доступно на все большем количестве устройств с большим экраном, сейчас самое время протестировать ваши приложения и оптимизировать их для таких устройств.
Чтобы начать работу, настройте эмулятор 12L или установите 12L на партнерское устройство. Вы сможете увидеть последние изменения в системном интерфейсе для больших экранов, попробовать свои приложения с панелью задач и в режиме разделенного экрана, протестировать приложение в режиме совместимости и даже попробовать встроить действия с помощью API Jetpack WindowManager.
Если вы только начинаете разрабатывать приложения для больших экранов, ознакомьтесь с руководствами по большим экранам и складным устройствам. В них вы найдете актуальные рекомендации и методы создания качественных приложений для таких устройств.
Что тестировать
После создания виртуальных устройств для 12L протестируйте приложение в распространенных сценариях использования больших экранов, чтобы убедиться, что оно работает правильно. Ниже приведены некоторые рекомендации и ссылки на дополнительную информацию по теме, которая поможет вам оптимизировать приложение для больших экранов.
| Что тестировать | Ресурсы |
|---|---|
|
Размеры экрана, положение устройства и поворот Проверьте, как приложение реагирует на изменение размера экрана, когда пользователь меняет положение устройства, например раскладывает его или переводит в настольный режим. Также попробуйте повернуть устройство в каждом из этих состояний, чтобы убедиться, что приложение реагирует оптимальным образом. |
Документация Семплы Практические работы Технические доклады |
|
Взаимодействие с панелью задач и режим разделения экрана Проверьте, как приложение реагирует на панель задач на больших экранах. Убедитесь, что панель задач не перекрывает интерфейс приложения. Попробуйте войти в режим разделенного экрана и многооконный режим и выйти из них с помощью панели задач. Проверьте, как работает быстрое переключение между приложениями с помощью панели задач. Если у вашего приложения фиксированная ориентация и его размер нельзя изменить, проверьте, как оно реагирует на настройки режима совместимости, например на кашетирование. |
Документация Семплы Технические доклады |
|
Многооконный режим
Проверьте, как приложение работает в многооконном режиме на больших экранах (sw >= 600dp), особенно если в нем задан атрибут
Если в приложении задан атрибут
Если в вашем приложении используются API для работы с экраном, например |
Документация Семплы Технические доклады |
|
Проекция медиаконтента Если в вашем приложении используется проекция медиа, проверьте, как оно реагирует на воспроизведение, потоковую передачу или трансляцию медиа на устройствах с большим экраном. Обязательно учитывайте изменения положения складных устройств. |
Документация Семплы Технические доклады |
|
Предпросмотр камеры Если вы разрабатываете приложение для камеры, проверьте, как интерфейс предпросмотра реагирует на большие экраны, когда приложение занимает только часть экрана в многооконном режиме или режиме разделения экрана. Также проверьте, как приложение реагирует на изменение положения складного устройства. |
Документация |