Comprendre les modificateurs de sous-espace

Appareils XR concernés
Ces conseils vous aident à créer des expériences pour ces types d'appareils XR.
Casques XR
Lunettes XR filaires

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, y et z.
  • En utilisant un axisAngle, qui est un Vector3 représentant l'axe de rotation et l'angle de rotation autour de cet axe.
  • En utilisant un Quaternion qui 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.

HeadTrackingMode.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.