Ein SubspaceModifier ähnelt einem Compose-Modifikator für Composables in einem Subspace. Mit einem SubspaceModifier können Sie Composables im 3D-Raum bearbeiten, um 3D-Layoutknoten zu positionieren, zu drehen und ihnen Verhaltensweisen hinzuzufügen.
Layout
Standardmäßig wird ein Subspace durch den empfohlenen Bereich zum Ansehen einer App begrenzt. Diese Grenzen werden beim Messen des Layouts Ihrer Unterraumkomponenten verwendet, ähnlich wie Grenzen in 2D-Compose-Layouts.
Grenzen für das Ausfüllen
Mit den Modifikatoren fillMaxSize, fillMaxWidth, fillMaxHeight und fillMaxDepth wird der Inhalt (teilweise) an die Grenzen des übergeordneten Elements angepasst.
Mit Fill-Modifikatoren kann Ihre App Inhalte unabhängig von den Displayeigenschaften des XR-Geräts layouten.
Größe und erforderliche Größe festlegen
Mit den Modifizierern 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 anzugeben. Diese Einheiten müssen in dp angegeben werden. Verwenden Sie Meter.toDp(), um Meter in dp umzurechnen.
Positionierung von Composables
offset
Mit dem Modifier offset wird das Composable im 3D-Raum entlang der Achsen x, y und z verschoben. Diese Einheiten müssen in dp angegeben werden. Wenn Sie Meter in dp umrechnen möchten, verwenden Sie Meter.toDp().
rotate
Mit dem Modifier rotate wird das angegebene Composable im Raum gedreht. Sie können die Richtung und den Betrag der Drehung auf verschiedene Arten angeben:
- Mithilfe von Nick-, Gier- und Rollwinkel, die die Drehung um die
x-,y- bzw.z-Achse angeben, - Mit einer
axisAngle, die eineVector3darstellt, die die Rotationsachse angibt, und der Anzahl der Grad, um die rotiert werden soll, - Mit einer
Quaternion, die die Rotation darstellt.
lookAtUser
Der Modifier lookAtUser dreht die angegebene Composable kontinuierlich im Raum, sodass sie dem Betrachter zugewandt erscheint. Ein ähnlicher Modifikator, billboard, dreht sich in Richtung des Betrachters, aber der Inhalt bleibt aufrecht.
Für diese Modifizierer muss Ihrer App die Berechtigung android.permission.HEAD_TRACKING erteilt werden. Außerdem muss die aktuelle Sitzung konfiguriert sein, um HeadTrackingMode.LAST_KNOWN festzulegen.
Darstellung von Composables ändern
alpha
Mit dem Modifikator alpha wird die Deckkraft des Elements und seiner untergeordneten Elemente festgelegt. Dabei steht 0f für vollständig transparent und 1.0f für vollständig undurchsichtig.
scale
Mit dem Modifikator scale wird der Inhalt des Composables entlang der horizontalen, vertikalen und Tiefenachse skaliert.
Tests und Barrierefreiheit
semantics
Mit dem Modifikator semantics werden dem Layoutknoten Semantik für Tests und Barrierefreiheit hinzugefügt. Weitere Informationen finden Sie unter Semantik in Jetpack Compose und SemanticsModifier.
testTag
Der Modifikator testTag ist eine Kurzschreibweise für SemanticsPropertyReceiver.testTag, mit der Test-Frameworks das Element in Tests finden können.