Jetpack Compose для XR
| Последнее обновление | Стабильный релиз | Предварительная версия для выпуска | Бета-версия | Альфа-версия |
|---|---|---|---|---|
| 28 января 2026 г. | - | - | - | 1.0.0-alpha10 |
Объявление зависимостей
Чтобы добавить зависимость от XR Compose, необходимо добавить репозиторий Google Maven в ваш проект. Для получения дополнительной информации ознакомьтесь с информацией в репозитории Google Maven .
Добавьте зависимости для необходимых артефактов в файл build.gradle вашего приложения или модуля:
классный
dependencies { implementation "androidx.xr.compose:compose:1.0.0-alpha10" // Use to write unit tests testImplementation "androidx.xr.compose:compose-testing:1.0.0-alpha10" }
Котлин
dependencies { implementation("androidx.xr.compose:compose:1.0.0-alpha10") // Use to write unit tests testImplementation("androidx.xr.compose:compose-testing:1.0.0-alpha10") }
Для получения дополнительной информации о зависимостях см. раздел «Добавление зависимостей сборки» .
Обратная связь
Ваши отзывы помогают улучшить Jetpack. Сообщите нам, если вы обнаружите новые проблемы или у вас есть идеи по улучшению этой библиотеки. Пожалуйста, ознакомьтесь с существующими проблемами в этой библиотеке, прежде чем создавать новую. Вы можете проголосовать за существующую проблему, нажав кнопку со звездочкой.
Для получения более подробной информации см. документацию по системе отслеживания ошибок .
Версия 1.0
Версия 1.0.0-alpha10
28 января 2026 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha10 и androidx.xr.compose:compose-testing:1.0.0-alpha10 . Версия 1.0.0-alpha10 содержит следующие коммиты .
Изменения в API
- Удаление устаревшего API -
ApplicationSubspace( Ia6596 , b/468345186 ) - Обновлена
SpatialShapeдо герметичного интерфейса ( I7e3f5 , b/460426800 ) - Удаление устаревших API в
SpatialAlignment. ( Ib0b61 , b/468011887 ) - Прекращение поддержки
SpatialLayoutSpacerи введениеSpatialSpacer. ( I2ebf3 , b/466071383 ) - Обновлен API
UserSubspace: термин «ленивая блокировка» заменен на «мягкая блокировка». ( I9ded1 , b/464035984 )
Версия 1.0.0-alpha09
3 декабря 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha09 и androidx.xr.compose:compose-testing:1.0.0-alpha09 . Версия 1.0.0-alpha09 содержит следующие коммиты .
Изменения в API
- Добавление модификаторов
LookAtUserи Billboard, позволяющих контенту всегда быть обращенным к пользователю. ( I49b99 ) - Добавляет возможность устанавливать
InteractionPolicyдляSpatialExternalSurfacesиSpatialPanels, что позволяет обнаруживать щелчки и другие события ввода в 3D-пространстве. ( Iae155 ) - Добавлена перегрузка модификаторов size и
requiredSizeс шириной, высотой и глубиной в качестве значений Dp. ( I92f79 ) - Интерфейс
ParentLayoutParamsModifierтеперь наследуетDelegatableSubspaceNode. ( I1a6d4 ) -
ApplicationSubspaceустарела, в пользу неё используется API Subspace.- Поведение API подпространства изменено таким образом, чтобы предоставлять подпространство, охватывающее все приложение, только в рекомендуемом положении и масштабе.
- Представлен API
PlanarEmbeddedSubspace, позволяющий создавать вложенные подпространства в двумерном контексте. ( Id3343 )
- В API
SubspaceModifier.Nodeдобавлен флагshouldAutoInvalidate( I93902 ) - Добавлено
required(Size|Width|Depth|Height)в API, позволяющие разработчикам ограничивать размер@SubspaceComposableопределенным диапазоном, игнорируя входящие ограничения измерений родительского элемента. ( Ifaa78 ) - Добавлена
SubspaceModifier.onSizeChanged, которая предоставляет разработчикам простой, сфокусированный коллбэк для реагирования на изменение размера объекта@SubspaceComposable. ( I994f9 ) - Удалён API для работы с объёмом. Вместо API для работы с объёмом следует использовать API
SceneCoreEntity. ( I4162b ) - Разделить
SubspaceLayoutModifierNode.requestRelayoutнаinvalidateMeasurement/invalidatePlacement. ( I14805 ) - Добавлен API
SpatialGltfModel, позволяющий разработчикам отображать файлы glTF в Compose. ( Icc91f ) - Представлен компонуемый API
SpatialGltfModelдля упрощения рендеринга glTF-файлов ( Iade67 ).
Исправлены ошибки
- Исправлена ошибка компоновки в
SceneCoreEntity. Теперь он должен корректно учитывать свои ограничения. ( I11bb8 ) - Уменьшить размер модулей jxr-compose до
Compile sdk = 34( I2d5db )
Версия 1.0.0-alpha08
22 октября 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha08 и androidx.xr.compose:compose-testing:1.0.0-alpha08 . Версия 1.0.0-alpha08 содержит следующие коммиты .
Изменения в API
- Изменена
ResizePolicyдля приемаonResizeStart,onResizeUpdateиonResizeEnd. ( I7e21f )
Исправлены ошибки
- Предотвращение сбоя при уничтожении Activity с подпространством. ( I595a1 )
Версия 1.0.0-alpha07
24 сентября 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha07 и androidx.xr.compose:compose-testing:1.0.0-alpha07 . Версия 1.0.0-alpha07 содержит следующие коммиты .
Изменения в API
- Улучшена документация KDocs для
SpatialMainPanel. ( I27b70 , b/444467891 ) - Введена
SpatialArrangementдля размещения дочерних элементов вдоль главной оси в трехмерных макетах, таких какSpatialRowиSpatialColumn. Этот новый API предоставляет знакомые параметры размещения из 2D Compose, включаяStart,End,Center,SpaceBetween,SpaceAroundиSpaceEvenly, с полной поддержкой как LTR, так и RTL направлений компоновки. ( I7db38 , b/436289959 ) - Добавлен базовый интерфейс для
SubspaceModifier.Nodeдля повышения типобезопасности и удобства использования интерфейсов расширения, например:-
CompositionLocalConsumerSubspaceModifierNode -
LayoutCoordinatesAwareModifierNode -
SubspaceLayoutModifierNode -
CoreEntityNode(internal) ( Iede00 , b/440599394 , b/440599394 )
-
- Unrestrict
SpatialExternalSurface( I33315 , b/439646773 ) - Ввести
SubspaceModifierдля компонуемых объектов Subspace и заменить параметр constraints сSubspaceModifierнаSubspaceModifiers, зависящие от размера. ЕслиallowUnboundedSubspaceимеет значение true, объекты Subspaces по-прежнему могут иметь неограниченные ограничения. ( Ib06e6 , b/433331675 ) - Модификаторы
SubspaceModifiersпозволяющие перемещать и изменять размер элементов, теперь считаются устаревшими, посколькуDragPolicy()иResizePolicy()стали частью APISpatialPanelиSpatialExternalSurface( I397bf , b/437924639 ). - Добавлена поддержка
LayoutDirectionв пространственных макетах. Теперь при использованииSpatialAlignmentэлементы будут корректно располагаться как в контекстах LTR, так и RTL. ( I964bb , b/436300273 ) - Добавьте параметры Resizable и Movable в API
Panel, чтобы гарантировать, что эти свойства могут применяться только к поддерживаемым контейнерам. ( Id491c ) - Добавлены
SubspaceModifierssizeIn,widthIn,heightIn,depthInпозволяющие задавать точные минимальные и максимальные ограничения для ширины, высоты и глубины. ( I1af09 , b/433330761 )
Версия 1.0.0-alpha06
13 августа 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha06 и androidx.xr.compose:compose-testing:1.0.0-alpha06 . Версия 1.0.0-alpha06 содержит следующие коммиты .
Исправлены ошибки
- Восстановить
ComposeXrOwnerLocalsпри уничтожении владельца жизненного цикла. ( 9123ce1 )
Версия 1.0.0-alpha05
30 июля 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha05 и androidx.xr.compose:compose-testing:1.0.0-alpha05 . Версия 1.0.0-alpha05 содержит следующие коммиты .
Новые функции
- Класс аннотации
SubspaceComposableстал общедоступным. ( Ic2a34 , b/399432430 ) - Два новых компонента
SpatialExternalSurfaceComposable, представляющие сферы с углом обзора 180 и 360 градусов. ( I40ef2 , b/391705799 ) - Добавлен
SubspaceModifier.aspectRatio( Ide5ab , b/399729509 , b/414762147 ) - Добавлен API
SceneCoreEntityдля улучшения взаимодействия междуSceneCoreи Compose for XR. ( I50bb3 , b/423020989 ) - Предоставлен API
GravityAlignedsubspaceдля поддержки функции Unscaled AndGravityAligned( I07359 )
Изменения в API
- Функция
SpatialDialog()будет следовать конфигурации нажатия клавишиSpatialDialogProperties.dismissOnBack. ( Ib453b , b/416797132 ) - Обновите
minimumPanelDimensionдо нового значения по умолчаниюDimensions(0.1f, 0.1f, 0.1f)поскольку он представлен в метрах. ( Ib852a ) - Теперь подпространства и орбитальные аппараты будут сохранять своё внутреннее состояние в домашнем пространстве и при работе приложения в фоновом режиме. В режиме домашнего пространства подпространство по-прежнему будет настраивать свою сцену в рамках подготовки к переключению в полномасштабный космический режим. ( I40317 , b/416037751 )
- Теперь
SpatialDialogsбудут сохранять свое состояние, когда приложение находится в фоновом режиме. ( I6aa56 ) - Теперь
ApplicationSubspaceбудет наследовать рекомендуемый масштаб и положение от системы. ( I4565f , b/418834194 ) - Добавлено более информативное сообщение об ошибке, и ошибка возникает раньше, когда
SubspaceComposableиспользуется в контексте, отличном отSubspaceComposable. ( Iee2ae , b/416484684 ) - Изменение статуса
ExperimentalSubspaceVolumeApiс Warning на Error, поскольку предупреждения часто игнорируются при неправильном использовании компонуемых API. ( I427aa , b/424864286 ) - Теперь параметры Subspace и
ApplicationSubspaceограничены параметромrecommendedContentBoxInFullSpace. Ранее они ограничивались полем зренияSpatialUser. ( I41015 , b/423074142 ) - Обновите
SpatialElevation, чтобы использовать минимальный размер, а не жестко заданный размер ( I2dbe6 , b/427785338 ). - Обновите способ скриминга
SpatialAcitivityPanel, чтобы он обновлялся при изменении ключевой переменной. ( I0f64d , b/427999029 ) - Удалите свойство
VolumeConstraints.Unboundedи установите значения ограничений по умолчанию на эквивалентные. ( Ie24ec , b/407938414 ) -
SpatialFeatheringSizeбольше не является общедоступным ( I1c15b , b/399432430 ). - Переименовали XR
PlaceableвSubspacePlaceable, чтобы отличить его отPlaceableиз Compose. ( I74874 ) - Удалены настройки Orbiter и добавлен новый параметр
shouldRenderInNonSpatial. Кроме того, удален классEdgeOffsetи добавлен новый параметрorbiterOffsetTypeдля объединения функцийOrbiter(). А также переименованOrbiterEdgeвContentEdge. ( Iebf3d ) - Переименование
MeasurableвSubspaceMeasurableдля отличия от типаMeasurableв Compose. ( I9726c ) - Переименовать
MeasureResultвSubspaceMeasureResult( I9f34d ) - Удалён API
setSubspaceContentв пользу использованияsetContentиз Compose с компонуемымSubspace. ( Ifff4c , b/421427391 , b/421427391 ) -
MeasurePolicyпереименован вSubspaceMeasurePolicy. ( I37a9b , b/422553904 ) - Преобразуйте
SubspaceSemanticsInfoв закрытый интерфейс, поскольку без значений по умолчанию мы не сможем добавлять элементы. ( I372f9 , b/423704068 ) - Обновлена документация
SpatialExternalSurface,ContentSecurityLevelпереименован вSurfaceProtection( I3c460 , b/420982808 ) - Предоставлен перегруженный конструктор для модификатора movable, позволяющий устанавливать привязку. ( Ic0c70 )
- Добавлено больше параметров позиционирования для всплывающих подсказок, чтобы разработчики могли контролировать, где подсказка располагается: выше, ниже, слева или справа от якоря. Добавлен API, принимающий параметр Shape для курсоров, что позволит предоставлять больше пользовательских форм. ( Ie513c , b/374766087 , b/418854637 )
- Удален
CoreEntityкакPublishedApi( Ifee05 )
Исправлены ошибки
- Исправлена ошибка, из-за которой
SpatialDialogмерцал во время рендеринга. ( Ife73c , b/401619909 ) - Исправлена ошибка, из-за которой
SpatialDialogне мог скрыть панель действий. ( I8ca6c , b/367442109 ) - Исправлена ошибка, из-за которой диалоговое окно XR не отображало часть содержимого ( I17cd5 , b/418062437 )
- Исправлена ошибка, из-за которой всплывающее окно
SpatialPopupзакрывалось при нажатии внутри контента. ( If262c , b/417245722 ) - Исправлена ошибка, из-за которой при использовании цепочки вызовов
resizable().movable()SpatialPanel некорректно изменял свой размер до нового значения. ( I02ee3 , b/422264230 ) - Исправлена ошибка, из-за которой
topBarперекрывала меню вSpatialComposeVideoPlayer( Id33bc , b/427168167 ). - Исправлена ошибка, из-за которой не отображался радиус скругления углов ( I975fe , b/428261830 )
Версия 1.0.0-alpha04
7 мая 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha04 и androidx.xr.compose:compose-testing:1.0.0-alpha04 . Версия 1.0.0-alpha04 содержит следующие коммиты .
Новые функции
- Добавлен интерфейс
CompositionLocalConsumerSubspaceModifierNode, позволяющий пользовательским типамSubspaceModifierполучать доступ к локальным значениям композиции. - Добавлен новый API
SpatialPanel, который соответствует стилю реализации ComposeAndroidViewи является устаревшим для предыдущегоViewBased SpatialPanel. - Добавлен сопутствующий объект
VolumeConstraints.Unbounded, представляющий неограниченные ограничения. - Добавлена
SubspaceModifier.onPointSourceParamsдля обеспечения возможности использования пространственного источника звука. - Добавлен общедоступный
ApplicationSubspace, предлагающий необязательные значенияVolumeConstraintsдля определения трехмерной области, в которой приложение может отображать пространственный контент. По умолчанию, если ограничения не указаны, Subspace будет ограничен по ширине и высоте текущим полем зренияSpatialUser. Пользователи могут указать ограничения, которые будут использоваться, если поле зрения определить невозможно. В противном случае используются значения ширины и высоты поля зрения по умолчанию. - Добавлена
SpatialExternalSurface, которую можно использовать для рендеринга стереоскопического контента.SpatialExternalSurfaceнастраивается с помощью модификаторов (кроме альфа-канала) и эффекта сглаживания краев. - Добавлен новый модификатор подпространства
pointerHoverIcon, позволяющий пользователям устанавливать значок для пространственного указателя.
Изменения в API
- Снято ограничение
RequiresApi(34)для всех пакетов Jetpack XR. Это ограничение было излишним, поскольку Jetpack XR в настоящее время доступен только на устройствах с уровнем API 34 и выше. ( Iae0f8 ) - Для использования проектов, выпущенных с Kotlin 2.0, требуется KGP 2.0.0 или более поздняя версия. ( Idb6b5 )
- Теперь функция возврата будет работать на пространственных панелях без встроенных активностей. Для корректной работы функции возврата необходимо указать
android:enableOnBackInvokedCallback="true"в манифесте Android. - Теперь обработка обратных вызовов будет работать для пространственных диалогов. Для корректной работы обработки обратных вызовов необходимо указать
android:enableOnBackInvokedCallback="true"в манифесте Android. - Теперь панели
SpatialPanelсоздаваемые с помощью Compose и View, могут изменять свой размер в зависимости от содержимого. - Теперь разработчики могут устанавливать собственные значения
SpatialElevationLevelи не ограничены предопределенными уровнями. - Теперь уровень высоты орбитального аппарата можно настроить с помощью параметра
elevation. - Теперь подпространство по умолчанию может быть ограничено по ширине и высоте полем зрения
SpatialUser. Если поле зрения определить невозможно, используются значения ширины и высоты поля зрения по умолчанию. - Добавлены новые функции обратного вызова
onMoveStartиonMoveEndк модификаторуMovable. ФункцииonMoveStartиonMoveEndвызываются, когда пользователь начинает и заканчивает перемещение подпространства, компонуемого с помощью модификатора movable. - Параметр
nameбыл удален из пространственных API, таких какSpatialRowиSpatialPanel. Для отладки пространственных деревьев компоновки используйте вместо негоSubspaceModifier.testTag. - Удалена неподдерживаемая перегрузка
SpatialPopup, которая содержит толькоspatialElevationLevelиcontent. Пожалуйста, используйте интерфейс, поддерживающийonDimissRequest. - Функция обратного вызова
onPoseChangeиз модификатора Movable удалена. Используйте вместо неёonMove. -
SubspaceModifiersперестанут оказывать своё воздействие, если они отсоединены или отсоединяются в данный момент. - Существующий API
SpatialRowбыл разделён наSpatialRowиSpatialCurvedRow. Если ранее использовался параметрcurveRadiusизSpatialRow, теперь вместо него следует использоватьSpatialCurvedRow, который обеспечивает аналогичное поведение. - В системах с относительно свежим образом системы панели
MainPanelиActivityPanelбольше не отображают заголовки окон. - Модификаторы альфа-канала и масштаба теперь суммируются и будут умножать свои значения для получения конечного значения альфа-канала или масштаба.
- Функция обратного вызова
onPoseChangeиз модификатора Movable была оптимизирована для более плавного изменения позы. - Теперь модификаторы, изменяемые по размеру и перемещаемые, будут выполнять свои обратные вызовы в основном потоке, чтобы гарантировать, что изменения состояния будут вызывать перекомпозицию.
- Добавлено отслеживание состояния на этапах компоновки и измерения, чтобы гарантировать, что изменения состояния в
SubspaceLayoutбудут запускать процесс перестановки. - Оптимизированы обновления цепочки модификаторов для более эффективного повторного использования существующих модификаторов.
Исправлены ошибки
- Игра прекращается при появлении диалогового окна
SpatialDialog. ( Ic4594 ) - Запросы на переадресацию, отправленные во время отсоединения узлов-модификаторов, теперь будут игнорироваться.
- Удалены фазы перераспределения нагрузки, запускаемые модификаторами Movable и Resizable.
- Исправлена ошибка, приводившая к сбою в функции
MainPanel(), которая возникала при обнулении любого из измерений, либо напрямую, либо во время вычисления компоновки, например, при вычисленииSpatialRow/SpatialColumn. Теперь панель будет скрыта. Обратите внимание, что это исправление касается именно сбоев на этапе компоновки; изменение размера панели до нуля с помощью взаимодействия с пользователем будет обрабатываться отдельно. Скрытая панель не имеет элементов пользовательского интерфейса. - Исправлена ошибка, связанная с
maintainAspectRatioиз модификатора resizable. Теперь соотношение сторон должно сохраняться. - Исправлена ошибка, связанная с вложенными подпространствами, из-за которой они неправильно позиционировались в течение одного кадра.
- Исправлена ошибка, из-за которой скругленные углы иногда не применялись, хотя должны были.
-
NestedSubspacesбольше не будут отображаться в неправильном месте в течение одного кадра.
Версия 1.0.0-alpha03
26 февраля 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha03 и androidx.xr.compose:compose-testing:1.0.0-alpha03 без существенных изменений по сравнению с последней альфа-версией. Версия 1.0.0-alpha03 содержит следующие коммиты
Версия 1.0.0-alpha02
12 февраля 2025 г.
Выпущены androidx.xr.compose:compose:1.0.0-alpha02 и androidx.xr.compose:compose-testing:1.0.0-alpha02 . Версия 1.0.0-alpha02 содержит следующие коммиты .
Новые функции
- Теперь панель действий может отображать свое содержимое при активации пространственного диалога.
- API
Orbiterтеперь можно использовать в контекстахSubspaceComposable, и он будет прикреплять Orbiter к ближайшему родительскому объекту, основанному наSubspaceLayout. - Введена
LayoutCoordinatesAwareModifierNode, позволяющая создавать пользовательские модификаторы на основе позиционирования. - Добавлены методы жизненного цикла attach/detach в
SubspaceModifier.Node. - Добавлена
scaleWithDistanceк модификатору movable. При включенииscaleWithDistanceперемещаемый элемент подпространства будет увеличиваться или уменьшаться. При этом он сохранит любой заданный масштаб, который был у него до перемещения.
Изменения в API
- Заменен
SessionCallbackProviderнаSpatialCapabilities.
Другие изменения
-
minSDKуменьшен до 24. Все API Jetpack XR по-прежнему требуют API 34 во время выполнения. - Конструкторы
OrbiterEdgeOffset.inner,EdgeOffset.outerиEdgeOffset.overlapбольше не являются методами@Composable, что позволяет использовать их в контекстах, не допускающих компонуемость. - Обновите пространственные уровни высоты в соответствии с последними требованиями к пользовательскому интерфейсу.
- Реализуйте интерфейс
SubspaceSemanticsInfoвMeasurableLayout. - Переименован
SubspaceModifierElementвSubspaceModifierNodeElement.
Исправлены ошибки
- Исправлены ошибки, стабилизирующие порядок использования
SubspaceModifier. РаботаSubspaceModifierдолжна быть более надежной. Модификаторы Offset, rotate, scale, movable и resizable теперь можно использовать в любом порядке.
Версия 1.0.0-alpha01
12 декабря 2024 г.
Выпущена версия androidx.xr.compose:compose-*1.0.0-alpha01 .
Особенности первоначального выпуска
Первый релиз Jetpack Compose для XR для разработчиков. Используйте знакомые концепции Compose, такие как строки и столбцы, для создания пространственных макетов пользовательского интерфейса в XR, независимо от того, переносите ли вы существующее 2D-приложение в XR или создаете новое XR-приложение с нуля. Эта библиотека предоставляет подпространственные и пространственные компонуемые элементы: такие как пространственные панели и орбитеры, которые позволяют размещать существующий 2D-интерфейс Compose или интерфейс на основе Views в пространственном макете. Она представляет компонуемый элемент подпространства Volume, который позволяет размещать объекты SceneCore, такие как 3D-модели, относительно вашего пользовательского интерфейса. Подробнее см. в этом руководстве для разработчиков :
Subspace: Этот компонуемый элемент можно разместить в любом месте иерархии пользовательского интерфейса вашего приложения, что позволяет сохранять макеты для 2D и пространственного интерфейса без потери контекста между файлами. Это упрощает обмен такими элементами, как существующая архитектура приложения, между XR и другими форм-факторами без необходимости переносить состояние по всему дереву пользовательского интерфейса или перестраивать архитектуру приложения.SpatialPanel : Пространственная панель — это компонуемый подпространство, позволяющее отображать контент приложения — например, воспроизведение видео, статичные изображения или любой другой контент в пространственной панели.
Orbiter : Orbiter — это пространственный компонент пользовательского интерфейса. Он предназначен для прикрепления к соответствующей пространственной панели и содержит элементы навигации и контекстных действий, связанных с этой пространственной панелью. Например, если вы создали пространственную панель для отображения видеоконтента, вы можете добавить элементы управления воспроизведением видео внутрь Orbiter.
Volume : Размещайте объекты SceneCore, такие как 3D-модели, относительно вашего пользовательского интерфейса.
Пространственная компоновка: Вы можете создать несколько пространственных панелей и разместить их внутри пространственной компоновки, используя
SpatialRow,SpatialColumn,SpatialBoxиSpatialLayoutSpacer. ИспользуйтеSubspaceModifierдля настройки компоновки.Пространственные компоненты пользовательского интерфейса: эти элементы можно повторно использовать в двухмерном пользовательском интерфейсе, и их пространственные атрибуты будут видны только при включении пространственных возможностей.
-
SpatialDialog: Панель немного сдвинется назад по оси Z, чтобы отобразить диалоговое окно с приподнятой панелью. -
SpatialPopUp: Панель немного сдвинется назад по оси Z, чтобы отобразить всплывающее окно, расположенное выше. -
SpatialElevation:SpatialElevationLevelпозволяет добавить отметку высоты.
-
SpatialCapabilities: Пространственные возможности могут изменяться по мере взаимодействия пользователей с вашим приложением или системой, или даже могут изменяться самим приложением — например, при переходе в «Домашнее пространство» или «Полное пространство». Во избежание проблем вашему приложению необходимо проверять
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. - Когда приложение запускается непосредственно в Full Space с помощью свойства
PROPERTY_XR_ACTIVITY_START_MODEв своем манифесте, действия/приложения изначально открываются в Home Space, прежде чем перейти в Full Space. - В компонентах, компонуемых по объему, сигналы glTF могут изначально мерцать в неправильном месте.
- Использование SpatialDialog в панели, которая была значительно перемещена, приведет к смещению содержимого в неправильном направлении.