SubspaceModifier
похож на модификатор Compose для компонуемых объектов в Subspace
. SubspaceModifier
позволяет вам манипулировать компонуемыми объектами в трехмерном пространстве, помогая вам позиционировать, вращать и добавлять поведения к узлам трехмерной компоновки.
Макет
По умолчанию Subspace
ограничен рекомендуемым пространством для просмотра приложения . Эти границы используются при измерении макета компонентов вашего subspace, аналогично границам в макетах 2D Compose .
Заполнить границы
Модификаторы fillMaxSize
, fillMaxWidth
, fillMaxHeight
и fillMaxDepth
заставляют контент (частично) заполнять границы его родителя. Использование модификаторов заполнения помогает вашему приложению размещать контент, который не зависит от характеристик дисплея устройства XR.
Установите размер и требуемый размер
Модификаторы size
, width
, height
и depth
объявляют предпочтительный размер содержимого. Чтобы объявить точный размер содержимого, используйте requiredSize
, requiredWidth
, requiredHeight
и requiredDepth
. Эти единицы должны быть указаны в dp
; для преобразования из метров в dp используйте Meter.toDp()
.
Позиция компонуемых
offset
Модификатор offset
перемещает составной объект в трехмерном пространстве вдоль осей x
, y
и z
. Эти единицы должны быть указаны в dp
; для преобразования из метров в dp используйте Meter.toDp()
.
rotate
Модификатор rotate
вращает указанный компонуемый объект в пространстве. Вы можете указать направление и величину поворота разными способами:
- Используя тангаж, рыскание и крен, которые определяют вращение вокруг осей
x
,y
иz
соответственно, - Используя
axisAngle
, который являетсяVector3
представляющим ось вращения, и количество градусов, на которое она должна быть повернута, - Использование
Quaternion
, представляющего вращение.
Изменение внешнего вида компонуемых объектов
alpha
Модификатор alpha
устанавливает непрозрачность элемента и его дочерних элементов, где 0f
означает полную прозрачность, а 1.0f
означает полную непрозрачность.
scale
Модификатор scale
масштабирует содержимое компонуемого объекта по горизонтальной, вертикальной и глубинной осям.
Добавить поведения к компонуемым объектам
resizable
Когда модификатор resizable
включен, будут показаны перетаскиваемые элементы управления пользовательского интерфейса, которые позволяют пользователю изменять размер элемента. Это похоже на использование ResizableComponent
на Entity
.
movable
Когда модификатор movable
включен, к компоненту будут добавлены элементы управления пользовательского интерфейса, которые позволяют пользователю перемещать элемент в трехмерном пространстве. Это похоже на использование MovableComponent
на Entity
.
Тестирование и доступность
semantics
Модификатор semantics
добавляет семантику в узел макета для использования в тестировании и доступности. См. Семантика в Jetpack Compose и SemanticsModifier
.
testTag
Модификатор testTag
— это сокращение от SemanticsPropertyReceiver.testTag
, которое позволяет тестовым фреймворкам находить элемент в тестах.