Subspace-Modifikatoren

XR‑Geräte, für die der Leitfaden gilt
Dieser Leitfaden hilft Ihnen dabei, Erlebnisse für die folgenden Arten von XR-Geräten zu entwickeln.
XR‑Headsets
Kabelgebundene XR‑Brillen

Ein SubspaceModifier ähnelt einem Compose-Modifikator für Composables in einem Subspace. Mit einem SubspaceModifier können Sie Composables im 3D-Raum bearbeiten und so 3D-Layoutknoten positionieren, drehen und Verhaltensweisen hinzufügen.

Layout

Standardmäßig ist ein Subspace durch den empfohlenen Bereich für die Anzeige einer App begrenzt. Diese Grenzen werden verwendet, wenn das Layout Ihrer Subspace Komponenten gemessen wird, ähnlich wie bei Grenzen in 2D-Compose-Layouts.

Grenzen füllen

Mit den Modifikatoren fillMaxSize, fillMaxWidth, fillMaxHeight und fillMaxDepth wird der Inhalt (teilweise) an die Grenzen des übergeordneten Elements angepasst. Mit Fill-Modifikatoren können Sie App-Layoutinhalte erstellen, die unabhängig von den Anzeigeeigenschaften des XR‑Geräts sind.

Größe und erforderliche Größe festlegen

Mit den Modifikatoren size, width, height und depth wird die bevorzugte Größe des Inhalts deklariert. Verwenden Sie requiredSize, requiredWidth, requiredHeight und requiredDepth, um die genaue Größe des Inhalts zu deklarieren. Diese Einheiten müssen in dp angegeben werden. Verwenden Sie Meter.toDp(), um von Metern in dp umzurechnen.

Composables positionieren

offset

Mit dem offset Modifikator wird das Composables im 3D-Raum entlang der x, y, und z Achse verschoben. Diese Einheiten müssen in dp angegeben werden. Verwenden Sie Meter.toDp(), um von Metern in dp umzurechnen.

rotate

Mit dem Modifikator rotate wird das angegebene Composables im Raum gedreht. Sie können die Richtung und den Grad der Drehung auf verschiedene Arten angeben:

  • Mit Pitch, Yaw und Roll, die die Drehung um die x-, y- bzw. z-Achse angeben
  • Mit einem axisAngle, einem Vector3, der die Drehachse darstellt, und dem Grad, um den er gedreht werden soll
  • Mit einem Quaternion, der die Drehung darstellt

rotateToLookAtUser

Mit dem rotateToLookAtUser Modifikator wird der Inhalt kontinuierlich gedreht , sodass er immer dem Nutzer zugewandt ist. Sie können diesen Modifikator auch verwenden, um einen „Billboard“-Effekt zu erzielen, bei dem sich der Inhalt so dreht, dass er dem Nutzer auf der Y‑Achse zugewandt ist, aber dennoch aufrecht bleibt und an der Schwerkraft ausgerichtet ist. Kombinieren Sie dazu den rotateToLookAtUser Modifikator mit dem gravityAligned Modifikator.

Für diesen Modifikator muss Ihre App das Objekt der aktuellen Sitzung mit DeviceTrackingMode.LAST_KNOWN konfigurieren.

HeadTrackingMode.LAST_KNOWN.

Darstellung von Composables ändern

alpha

Mit dem Modifikator alpha wird die Deckkraft des Elements und seiner untergeordneten Elemente festgelegt, wobei 0f für vollständig transparent und 1.0f für vollständig undurchsichtig steht.

scale

Mit dem scale Modifikator wird der Inhalt des Composables entlang der horizontalen, vertikalen und Tiefenachse skaliert.

Testen und Barrierefreiheit

semantics

Mit dem Modifikator semantics werden dem Layoutknoten Semantik hinzugefügt, die für Tests und Barrierefreiheit verwendet werden kann. Weitere Informationen finden Sie unter Semantik in Jetpack Compose und SemanticsModifier.

testTag

Der testTag Modifikator ist eine Kurzform für SemanticsPropertyReceiver.testTag, mit der Testframeworks das Element in Tests finden können.