Un SubspaceModifier
es similar a un modificador de Compose para elementos componibles en un Subspace
. Un SubspaceModifier
te permite manipular elementos componibles en el espacio 3D, lo que te ayuda a posicionar, rotar y agregar comportamientos a los nodos de diseño 3D.
Diseño
De forma predeterminada, un Subspace
está limitado por el espacio recomendado para ver una app. Estos límites se usan cuando se mide el diseño de los componentes de subespacio, de manera similar a los límites en los diseños de Compose 2D.
Límites de relleno
Los modificadores fillMaxSize
, fillMaxWidth
, fillMaxHeight
y fillMaxDepth
hacen que el contenido ocupe (parcialmente) los límites de su elemento superior.
El uso de modificadores de relleno ayuda a que tu app diseñe contenido independiente de las características de la pantalla del dispositivo XR.
Establece el tamaño y el tamaño requerido
Los modificadores size
, width
, height
y depth
declaran el tamaño preferido del contenido. Para declarar el tamaño exacto del contenido, usa requiredSize
, requiredWidth
, requiredHeight
y requiredDepth
. Estas unidades se deben especificar en dp
. Para convertir de metros a dp, usa Meter.toDp()
.
Posiciona elementos componibles
offset
El modificador offset
mueve el elemento componible en el espacio 3D a lo largo de los ejes x
, y
y z
. Estas unidades deben especificarse en dp
. Para convertir de metros a dp, usa Meter.toDp()
.
rotate
El modificador rotate
rota el elemento componible determinado en el espacio. Puedes especificar la dirección y la cantidad de rotación de diferentes maneras:
- Con el cabeceo, el balanceo y el giro, que especifican la rotación alrededor de los ejes
x
,y
yz
, respectivamente - Con un
axisAngle
, que es unVector3
que representa el eje de rotación y la cantidad de grados en los que se debe rotar, - Con un
Quaternion
que representa la rotación.
Cambia el aspecto de los elementos componibles
alpha
El modificador alpha
establece la opacidad del elemento y sus elementos secundarios, en la que 0f
representa completamente transparente y 1.0f
representa completamente opaco.
scale
El modificador scale
ajusta el contenido del elemento componible en los ejes horizontal, vertical y de profundidad.
Agrega comportamientos a los elementos componibles
resizable
Cuando se habilita el modificador resizable
, se muestran controles de IU arrastrables que permiten al usuario cambiar el tamaño del elemento. Esto es similar a usar ResizableComponent
en un Entity
.
movable
Cuando se habilita el modificador movable
, se agregan controles de IU al componente que permiten al usuario mover el elemento en el espacio 3D. Esto es similar a usar MovableComponent
en un Entity
.
Pruebas y accesibilidad
semantics
El modificador semantics
agrega semántica al nodo de diseño para usarlo en pruebas y accesibilidad. Consulta Semántica en Jetpack Compose y SemanticsModifier
.
testTag
El modificador testTag
es una abreviatura de SemanticsPropertyReceiver.testTag
, que permite que los frameworks de pruebas encuentren el elemento en las pruebas.