Рассмотрим экосистему приложений

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

Разработчики системных приложений могут учитывать эти факторы.

Настраиваемые контейнеры приложений

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

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

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

Передача состояний системы

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

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

Сторонние разработчики приложений

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

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

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

  • Иммерсивный режим: следует рассмотреть приложения, использующие иммерсивный режим (в котором системные панели могут быть скрыты, а приложение заполняет весь экран). Масштабируемый пользовательский интерфейс позволяет контролировать определение иммерсивного режима и то, как должно быть определено размещение каждой панели в этом режиме.

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

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