Un SubspaceModifier est semblable à un modificateur Compose pour les composables
dans un Subspace. Un SubspaceModifier vous permet de manipuler des composables dans un 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 des composants de votre sous-espace, comme les limites dans les mises en page Compose 2D.
Remplir les limites
Les modificateurs fillMaxSize, fillMaxWidth, fillMaxHeight, et
fillMaxDepth remplissent (partiellement) les limites de leur parent.
L'utilisation de modificateurs de remplissage permet à la mise en page de votre application de s'adapter à un contenu 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
en dp. Pour convertir des mètres en dp, utilisez Meter.toDp().
Positionner les composables
offset
Le modificateur offset déplace le composable dans un 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 rotate modificateur 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 le tangage, le lacet et le roulis, qui spécifient respectivement la rotation autour des axes
x,yetz. - En utilisant un
axisAngle, qui est unVector3représentant l'axe de rotation et l'angle de rotation autour de cet axe. - En utilisant un
Quaternionqui représente la rotation.
rotateToLookAtUser
Le rotateToLookAtUser modificateur fait pivoter
le contenu en continu afin qu'il soit toujours face à l'utilisateur. Vous pouvez également utiliser ce modificateur pour obtenir un effet de "panneau d'affichage" où le contenu pivote pour faire face à l'utilisateur sur l'axe Y tout en restant droit et aligné sur la gravité. Pour ce faire,
combinez le rotateToLookAtUser modificateur avec
le gravityAligned modificateur.
Ce modificateur nécessite que votre application configure l'objet
de la session actuelle avec
DeviceTrackingMode.LAST_KNOWN.
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 représente une opacité complète.
scale
Le scale modificateur met à l'échelle le contenu du composable le long des
axes horizontal, vertical et de profondeur.
Tests et accessibilité
semantics
Le modificateur semantics ajoute une sémantique au nœud de mise en page, pour une utilisation dans les
tests et l'accessibilité. Consultez Sémantique dans Jetpack Compose et
SemanticsModifier.
testTag
Le testTag modificateur est un raccourci pour
SemanticsPropertyReceiver.testTag, qui permet aux frameworks de test de trouver
l'élément dans les tests.