При создании дифференцированного приложения для Android XR вы можете использовать пространственный пользовательский интерфейс для размещения контента в физической или виртуальной среде пользователя. Вы можете разбить свое приложение на пространственные панели , орбитальные аппараты и добавить пространственную высоту (более подробно описано на этой странице).
Используйте компоненты и макеты Material Design.
Воспользуйтесь преимуществами библиотеки компонентов Material Design и адаптивными макетами при разработке приложения для Android XR. Эти интерактивные стандартные блоки помогают ускорить разработку, чтобы вы могли сосредоточиться на основных функциях и инновациях.
Material Design для XR расширяет возможности компонентов Material 3 и адаптивных макетов за счет пространственного поведения пользовательского интерфейса. Это может сделать ваше приложение более естественным для платформы и оптимизировать пространство.
Вы также можете пространственно определить существующие компоненты пользовательского интерфейса, разместив их на орбитальных кораблях и применив пространственную высоту , как описано на этой странице.
Чтобы начать работу, загрузите Material 3 Design Kit .
Пространственные панели
Пространственные панели — это фундаментальные строительные блоки приложений Android XR. Вы можете использовать их для создания XR-дифференцированного опыта на неограниченном дисплее, при этом контент расширяется по всему пространству пользователя. Пространственные панели служат контейнерами для элементов пользовательского интерфейса, интерактивных компонентов и иммерсивного контента.
Понять, как масштабируется и перемещается пользовательский интерфейс
Пространственные панели автоматически корректируют свой размер в зависимости от расстояния до пользователя. Такое динамическое масштабирование гарантирует, что элементы пользовательского интерфейса остаются разборчивыми и интерактивными при просмотре с разных расстояний. Размер остается постоянным между 0,75 метра и 1,75 метра. Тогда скорость масштабирования вырастет на 0,5 метра на метр, и элементы станут меньше.
Чтобы избежать конфликтов с системным пользовательским интерфейсом, сохраняйте пределы перемещения панели по умолчанию :
- Минимальная глубина: 0,75 метра от пользователя.
- Максимальная глубина: 5 метров от пользователя
Пользователи могут масштабировать пространственную панель вверх или вниз, чтобы она была достаточно большой, чтобы ее можно было четко видеть, независимо от расстояния от пользователя. Когда пользователь перемещает пространственную панель, Android XR автоматически масштабирует ее размер.
Размеры пространственных панелей
Android XR создан, чтобы сделать ваше приложение удобным, разборчивым и доступным для широкой аудитории. Для оптимальной работы система использует значение 0,868 dp-to-dmm. При просмотре через гарнитуру ваше приложение будет отображаться дальше от пользователя, чем при просмотре на телефоне или планшете, поэтому для удобства использования оно должно быть больше.
В режиме «Полное пространство» минимальный размер пространственной панели не установлен, а максимальный размер составляет 2560 x 1800 точек из-за физических ограничений.
Где разместить пространственные панели
В режиме «Полное пространство» вы можете определить размещение панели как в сквозной, так и в виртуальной среде. Когда пользователи переключаются с домашнего пространства на полное пространство, элементы остаются в том же предсказуемом положении, если вы не назначите собственное положение.
Создайте панель в центре на расстоянии 1,75 метра от линии обзора пользователя . Разместите вертикальный центр панели на 5° ниже уровня глаз пользователя, чтобы обеспечить максимальный комфорт, поскольку пользователи склонны смотреть вниз.
Для оптимального комфорта размещайте контент в центре поля зрения пользователя под углом 41° . Это обеспечит хорошую видимость и сведет к минимуму необходимость чрезмерных движений головой или телом.
Пользователь может перемещаться по своему пространству, а пространственные панели останутся на месте.
Android XR включает готовые шаблоны взаимодействия, которые упрощают пользователям манипулирование элементами и упрощают процесс разработки. Пользователь может перемещать элементы, чтобы адаптировать их к своему личному пространству. Вы можете настроить поведение перемещения и изменения размера.
Чтобы помочь пользователям чувствовать себя устойчиво и хорошо ориентироваться, вы можете разрешить им привязывать пространственную панель к определенному месту в реальном мире, например полу, стулу, стене, потолку или столу. Привязка доступна только при сквозной передаче.
Создайте свой собственный пространственный макет
Вы можете разложить свое приложение на несколько пространственных панелей в любом макете по вашему выбору. API пространственного пользовательского интерфейса не ограничивают количество панелей. Они включают в себя возможность создавать макеты со строками и столбцами, а также плоскими и изогнутыми рядами. Пространственные положения панелей могут быть конкретными или произвольными. Узнайте, как разрабатывать пространственные макеты пользовательского интерфейса .
Расположение плоских рядов | Расположение изогнутых рядов | Произвольное расположение позиций |
Орбитальные аппараты
Орбитеры — это плавающие элементы пользовательского интерфейса, которые управляют содержимым пространственных панелей. Они позволяют контенту иметь больше места, и пользователи могут быстро получить доступ к функциям, в то время как основной контент остается видимым. Орбитеры дают вам возможность интегрировать существующие компоненты пользовательского интерфейса или создавать новые.
Орбитальные аппараты следует использовать экономно и с тщательным учетом потребностей и намерений пользователей. Большое количество пространственных элементов пользовательского интерфейса может привести к утомлению контента и перегрузить пользователей чрезмерными конкурирующими действиями. Рекомендуется адаптировать несколько ключевых навигационных компонентов, таких как направляющая или панель навигации.
Рекомендации
- Отрегулируйте отступ панели, чтобы определить ее гибкое или процентное положение.
- Определите положение орбитальных аппаратов по оси Y. 20dp — рекомендуемое визуальное расстояние.
- При необходимости отрегулируйте уровень возвышения орбитального аппарата с помощью пространственных уровней возвышения. По умолчанию они имеют высоту 15dp по оси Z.
- Размер может быть фиксированным или гибким при изменении размера панели.
- Определите, хотите ли вы, чтобы орбитальный аппарат динамически расширялся в соответствии с содержимым.
Шаблоны проектирования, которых следует избегать
- Избегайте перекрытия орбитального аппарата более чем на 50% его размера.
- Избегайте размещения орбитальных аппаратов слишком далеко от пространственной панели.
- Не используйте абсолютные координаты X или Y.
- Избегайте использования слишком большого количества орбитальных аппаратов.
Пространственная высота
Когда вы добавляете пространственную высоту к компоненту, она отображается над пространственной панелью по оси Z. Это помогает привлечь внимание пользователя, создает лучшую иерархию и улучшает разборчивость.
Шаблоны проектирования, которых следует избегать
- Избегайте пространственного распределения или поднятия больших площадей и плоскостей, таких как нижние и боковые листы.
- Избегайте поднятия элементов пользовательского интерфейса с прокручиваемым содержимым.
Проектируйте большие размеры мишеней
В приложении XR цель — это область, на которую можно указать, с которой взаимодействуют пользователи. Android XR придерживается целевых рекомендаций Material Design и рекомендует более крупные цели для повышения точности, комфорта и удобства использования.
Узнайте о целях XR и состояниях при наведении .
Сделайте типографику доступной
Разборчивость шрифта имеет решающее значение для комфортного взаимодействия с пользователем в XR. Мы рекомендуем использовать параметры масштаба шрифта с размером шрифта 14 dp или больше и толщиной шрифта нормальной или выше для улучшения разборчивости.
Если ваше существующее приложение соответствует рекомендациям Material Design, оно уже оптимизировано для Android XR. Вы можете определить типографику нового приложения на основе Material Design .