Modificateurs de sous-espace

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 et z, respectivement,
  • À l'aide d'un axisAngle, qui est un Vector3 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.