瞭解子空間修飾符

適用的 XR 裝置
這份指南可協助您為這類 XR 裝置打造體驗。
XR 頭戴式裝置
有線 XR 眼鏡

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

rotateToLookAtUser

rotateToLookAtUser 修飾符會持續旋轉內容,讓內容隨時面向使用者。您也可以使用這個修飾符,達到「看板」效果,讓內容在 Y 軸上旋轉,面向使用者,同時保持直立並與重力對齊。如要這麼做,請將 rotateToLookAtUser 修飾符與 gravityAligned 修飾符合併。

如要使用這個修飾符,應用程式必須設定目前工作階段的物件,並使用 DeviceTrackingMode.LAST_KNOWN

HeadTrackingMode.LAST_KNOWN

變更可組合函式外觀

alpha

alpha 修飾符會設定元素及其子項的不透明度,其中 0f 代表完全透明,1.0f 代表完全不透明。

scale

scale 修飾符會沿著水平、垂直和深度軸縮放可組合項目的內容。

測試與無障礙功能

semantics

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

testTag

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