Un SubspaceModifier
è simile a un modificatore di composizione per i composabili
in un Subspace
. Un SubspaceModifier
ti consente di manipolare i composabili nello spazio 3D, aiutandoti a posizionare, ruotare e aggiungere comportamenti ai nodi di layout 3D.
Layout
Per impostazione predefinita, un Subspace
è limitato dallo spazio consigliato per la visualizzazione di un'app. Questi limiti vengono utilizzati per misurare il layout dei componenti dello spazio sottostante, in modo simile ai limiti nei layout di Compose 2D.
Limiti di riempimento
I modificatori fillMaxSize
, fillMaxWidth
, fillMaxHeight
e
fillMaxDepth
consentono ai contenuti di riempire (parzialmente) i limiti del relativo elemento principale.
L'utilizzo dei modificatori di riempimento consente di creare un layout dell'app indipendente dalle caratteristiche del display del dispositivo XR.
Imposta le dimensioni e le dimensioni richieste
I modificatori size
, width
, height
e depth
dichiarano le dimensioni preferite dei contenuti. Per dichiarare le dimensioni esatte dei contenuti, utilizza requiredSize
, requiredWidth
,
requiredHeight
e requiredDepth
. Queste unità devono essere specificate in dp
; per convertire da metri a dp, utilizza Meter.toDp()
.
Posiziona i composabili
offset
Il modificatore offset
sposta il composable nello spazio 3D lungo gli assi x
, y
e z
. Queste unità devono essere specificate in dp
. Per convertire da metri a dp, utilizza Meter.toDp()
.
rotate
Il modificatore rotate
ruota il composable specificato nello spazio. Puoi
specificare la direzione e l'entità della rotazione in diversi modi:
- Utilizzando inclinazione, imbardata e roll, che specificano la rotazione rispettivamente attorno agli assi
x
,y
ez
. - Utilizzando un
axisAngle
, ovvero unVector3
che rappresenta l'asse di rotazione e il numero di gradi attorno a cui deve essere ruotato, - Utilizzando un
Quaternion
che rappresenta la rotazione.
Modificare l'aspetto dei composabili
alpha
Il modificatore alpha
imposta l'opacità dell'elemento e dei relativi elementi secondari,
dove 0f
rappresenta completamente trasparente e 1.0f
completamente opaco.
scale
Il modificatore scale
ridimensiona i contenuti della composizione lungo gli assi orizzontale, verticale e di profondità.
Aggiungere comportamenti ai composabili
resizable
Quando il modificatore resizable
è attivato, vengono visualizzati controlli UI trascinabili che consentono all'utente di ridimensionare l'elemento. È simile all'utilizzo di
ResizableComponent
in un Entity
.
movable
Quando il modificatore movable
è attivato, al componente vengono aggiunti controlli dell'interfaccia utente che consentono all'utente di spostare l'elemento nello spazio 3D. È simile all'utilizzo di MovableComponent
in un Entity
.
Test e accessibilità
semantics
Il modificatore semantics
aggiunge la semantica al nodo del layout, da utilizzare per i test e l'accessibilità. Consulta Semantica in Jetpack Compose e
SemanticsModifier
.
testTag
Il modificatore testTag
è un'abbreviazione per
SemanticsPropertyReceiver.testTag
, che consente ai framework di test di trovare
l'elemento nei test.