Modificatori dello spazio sottostante

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 e z.
  • Utilizzando un axisAngle, ovvero un Vector3 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.