子空间修饰符

SubspaceModifier 类似于 Subspace 中可组合项的 Compose 修饰符。借助 SubspaceModifier,您可以在 3D 空间中操控可组合项,从而帮助您定位、旋转 3D 布局节点并为其添加行为。

布局

默认情况下,Subspace 受观看应用的建议空间限制。这些边界在测量子空间组件的布局时会用到,类似于 2D Compose 布局中的边界

填充边界

修饰符 fillMaxSizefillMaxWidthfillMaxHeightfillMaxDepth 可让内容(部分)填充其父级的边界。使用填充修饰符有助于应用布局内容独立于 XR 设备的显示特性。

设置尺寸和所需尺寸

修饰符 sizewidthheightdepth 用于声明内容的首选尺寸。如需声明内容的确切大小,请使用 requiredSizerequiredWidthrequiredHeightrequiredDepth。这些单位必须在 dp 中指定;如需将米转换为 dp,请使用 Meter.toDp()

位置可组合项

offset

offset 修饰符会沿 xyz 轴在 3D 空间中移动可组合项。这些单位必须在 dp 中指定;如需将米转换为 dp,请使用 Meter.toDp()

rotate

rotate 修饰符用于在空间中旋转给定可组合项。您可以通过不同的方式指定旋转方向和旋转量:

  • 使用俯仰、偏航和滚动,分别指定绕 xyz 轴的旋转
  • 使用 axisAngle,即表示旋转轴的 Vector3 和应围绕该轴旋转的角度
  • 使用表示旋转的 Quaternion

更改可组合项的外观

alpha

alpha 修饰符用于设置元素及其子元素的不透明度,其中 0f 表示完全透明,1.0f 表示完全不透明。

scale

scale 修饰符会沿水平轴、垂直轴和深度轴缩放可组合项的内容。

为可组合项添加行为

resizable

启用 resizable 修饰符后,系统会显示可拖动的界面控件,以便用户调整元素的大小。这类似于对 Entity 使用 ResizableComponent

movable

启用 movable 修饰符后,系统会向组件添加界面控件,以便用户在 3D 空间中移动元素。这类似于对 Entity 使用 MovableComponent

测试和无障碍功能

semantics

semantics 修饰符会向布局节点添加语义,以便用于测试和无障碍功能。请参阅 Jetpack Compose 中的语义SemanticsModifier

testTag

testTag 修饰符是 SemanticsPropertyReceiver.testTag 的简写形式,可让测试框架在测试中找到该元素。