Un SubspaceModifier
est semblable à un modificateur Compose pour les composables dans un Subspace
. Un SubspaceModifier
vous permet de manipuler des composables dans l'espace 3D, ce qui vous aide à positionner, à faire pivoter et à ajouter des comportements aux nœuds de mise en page 3D.
Mise en page
Par défaut, un Subspace
est limité par l'espace recommandé pour afficher une application. Ces limites sont utilisées lors de la mesure de la mise en page de vos composants de sous-espace, comme les limites dans les mises en page Compose 2D.
Limites de remplissage
Les modificateurs fillMaxSize
, fillMaxWidth
, fillMaxHeight
et fillMaxDepth
permettent de remplir (partiellement) les limites de l'élément parent.
L'utilisation de modificateurs de remplissage permet à votre application de mettre en page du contenu qui est indépendant des caractéristiques d'affichage de l'appareil XR.
Définir la taille et la taille requise
Les modificateurs size
, width
, height
et depth
déclarent la taille préférée du contenu. Pour déclarer la taille exacte du contenu, utilisez requiredSize
, requiredWidth
, requiredHeight
et requiredDepth
. Ces unités doivent être spécifiées dans dp
. Pour convertir des mètres en dp, utilisez Meter.toDp()
.
Positionner des composables
offset
Le modificateur offset
déplace le composable dans l'espace 3D le long des axes x
, y
et z
. Ces unités doivent être spécifiées en dp
. Pour convertir des mètres en dp, utilisez Meter.toDp()
.
rotate
Le modificateur rotate
fait pivoter le composable donné dans l'espace. Vous pouvez spécifier la direction et l'angle de rotation de différentes manières:
- En utilisant les valeurs pitch, yaw et roll, qui spécifient la rotation autour des axes
x
,y
etz
, respectivement, - À l'aide d'un
axisAngle
, qui est unVector3
représentant l'axe de rotation et le nombre de degrés autour duquel il doit être pivoté, - À l'aide d'un
Quaternion
qui représente la rotation.
Modifier l'apparence des composables
alpha
Le modificateur alpha
définit l'opacité de l'élément et de ses enfants, où 0f
représente une transparence totale et 1.0f
une opacité totale.
scale
Le modificateur scale
met à l'échelle le contenu du composable le long des axes horizontal, vertical et de profondeur.
Ajouter des comportements aux composables
resizable
Lorsque le modificateur resizable
est activé, des commandes d'interface utilisateur déplaçables s'affichent pour permettre à l'utilisateur de redimensionner l'élément. Cela revient à utiliser ResizableComponent
sur un Entity
.
movable
Lorsque le modificateur movable
est activé, des commandes d'interface utilisateur sont ajoutées au composant, ce qui permet à l'utilisateur de déplacer l'élément dans l'espace 3D. Cela revient à utiliser MovableComponent
sur un Entity
.
Tests et accessibilité
semantics
Le modificateur semantics
ajoute des sémantiques au nœud de mise en page, à utiliser pour les tests et l'accessibilité. Consultez Sémantique dans Jetpack Compose et SemanticsModifier
.
testTag
Le modificateur testTag
est une abréviation de SemanticsPropertyReceiver.testTag
, qui permet aux frameworks de test de trouver l'élément dans les tests.