Jetpack Compose для XR
Последнее обновление | Стабильный выпуск | Кандидат на выпуск | Бета-версия | Альфа-релиз |
---|---|---|---|---|
12 декабря 2024 г. | - | - | - | 1.0.0-альфа01 |
Объявление зависимостей
Чтобы добавить зависимость от XR Compose, вам необходимо добавить в свой проект репозиторий Google Maven. Для получения дополнительной информации прочтите репозиторий Google Maven .
Добавьте зависимости для нужных вам артефактов в файл build.gradle
для вашего приложения или модуля:
классный
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha01" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha01" }
Котлин
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha01") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha01") }
Дополнительные сведения о зависимостях см. в разделе Добавление зависимостей сборки .
Обратная связь
Ваши отзывы помогают сделать Jetpack лучше. Дайте нам знать, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете добавить свой голос к существующей проблеме, нажав кнопку со звездочкой.
Дополнительную информацию см . в документации по системе отслеживания проблем .
Версия 1.0
Версия 1.0.0-альфа01
12 декабря 2024 г.
androidx.xr.compose:compose-*1.0.0-alpha01
выпущен.
Особенности первоначальной версии
Первоначальный выпуск Jetpack Compose для XR для разработчиков. Используйте знакомые концепции Compose, такие как строки и столбцы, для создания пространственных макетов пользовательского интерфейса в XR, независимо от того, переносите ли вы существующее 2D-приложение в XR или создаете новое приложение XR с нуля. Эта библиотека предоставляет подпространственные и пространственные компонуемые элементы: такие как пространственные панели и орбитальные аппараты, которые позволяют разместить существующий пользовательский интерфейс на основе 2D-композиции или представлений в пространственном макете. Он представляет компонуемое подпространство Volume, которое позволяет вам размещать объекты SceneCore, такие как 3D-модели, относительно вашего пользовательского интерфейса. Узнайте больше в этом руководстве для разработчиков :
Subspace
: этот составной элемент можно разместить в любом месте иерархии пользовательского интерфейса вашего приложения, что позволяет вам поддерживать макеты для 2D- и пространственного пользовательского интерфейса без потери контекста между файлами. Это упрощает совместное использование таких вещей, как существующая архитектура приложения, между XR и другими форм-факторами без необходимости поднимать состояние по всему дереву пользовательского интерфейса или перепроектировать ваше приложение.SpatialPanel : пространственная панель — это компонуемое подпространство, которое позволяет отображать содержимое приложения — например, вы можете отображать воспроизведение видео, неподвижные изображения или любой другой контент на пространственной панели.
Орбитер : Орбитальный аппарат — это пространственный компонент пользовательского интерфейса. Он предназначен для прикрепления к соответствующей пространственной панели и содержит элементы навигации и контекстных действий, связанные с этой пространственной панелью. Например, если вы создали пространственную панель для отображения видеоконтента, вы можете добавить элементы управления воспроизведением видео внутри орбитального аппарата.
Volume : размещайте объекты SceneCore, такие как 3D-модели, относительно вашего пользовательского интерфейса.
Пространственный макет. Вы можете создать несколько пространственных панелей и разместить их в пространственном макете с помощью
SpatialRow
,SpatialColumn
,SpatialBox
иSpatialLayoutSpacer
. ИспользуйтеSubspaceModifier
для настройки макета.Компоненты пространственного пользовательского интерфейса. Эти элементы можно повторно использовать в двухмерном пользовательском интерфейсе, а их пространственные атрибуты будут видны только при включении пространственных возможностей.
-
SpatialDialog
: панель слегка отодвинется назад по оси Z, чтобы отобразить диалоговое окно с повышенными правами. -
SpatialPopUp
: панель слегка отодвинется назад по оси Z, чтобы отобразить приподнятое всплывающее окно. -
SpatialElevation
: можно задатьSpatialElevationLevel
для добавления высоты.
-
Пространственные возможности. Пространственные возможности могут меняться по мере взаимодействия пользователей с вашим приложением или системой или даже могут быть изменены самим вашим приложением, например при перемещении в «Домашнее пространство» или «Полное пространство». Чтобы избежать проблем, вашему приложению необходимо проверить
LocalSpatialCapabilities.current
, чтобы определить, какие API поддерживаются в текущей среде.isSpatialUiEnabled
: Пространственные элементы пользовательского интерфейса (например, SpatialPanel)isContent3dEnabled
: 3D-объектыisAppEnvironmentEnabled
: СредаisPassthroughControlEnabled
: может ли приложение контролировать состояние прохожденияisSpatialAudioEnabled
: Пространственный звук
Известные проблемы
- В настоящее время для использования Jetpack Compose для XR требуется minSDK 30. В качестве обходного пути вы можете добавить следующую запись манифеста
<uses-sdk tools:overrideLibrary="androidx.xr.scenecore, androidx.xr.compose"/>
чтобы иметь возможность собирать и запускать minSDK 23. - Приложения Jetpack XR в настоящее время требуют запроса разрешения
android.permission.SCENE_UNDERSTANDING
в AndroidManifest. - Когда приложение запускается непосредственно в «Полном пространстве» с использованием свойства
PROPERTY_XR_ACTIVITY_START_MODE
в своем манифесте, действия/приложения сначала открываются в «Домашнем пространстве», а затем переходят в «Полное пространство». - glTF в Volume Composables может изначально мерцать в неправильном месте.
- Использование SpatialDialog на панели, которая была значительно перемещена, приведет к смещению содержимого в неправильном направлении.