子空間修飾符

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 修飾符後,系統會顯示可拖曳的 UI 控制項,讓使用者調整元素大小。這與在 Entity 上使用 ResizableComponent 類似。

movable

啟用 movable 修飾符後,UI 控制項會新增至元件,讓使用者在 3D 空間中移動元素。這與在 Entity 上使用 MovableComponent 類似。

測試和無障礙設計

semantics

semantics 修飾符會在版面配置節點中新增語意,以便用於測試和無障礙功能。請參閱「Jetpack Compose 中的語意」和 SemanticsModifier

testTag

testTag 修飾符是 SemanticsPropertyReceiver.testTag 的簡寫,可讓測試架構在測試中找到元素。