SubspaceModifier
は、Subspace
内のコンポーザブルの Compose 修飾子に似ています。SubspaceModifier
を使用すると、3D 空間でコンポーザブルを操作できるため、3D レイアウト ノードに配置、回転、動作を追加できます。
レイアウト
デフォルトでは、Subspace
はアプリの表示に推奨されるスペースで制限されます。これらの境界は、2D Compose レイアウトの境界と同様に、サブスペース コンポーネントのレイアウトを測定するときに使用されます。
塗りつぶし境界
修飾子 fillMaxSize
、fillMaxWidth
、fillMaxHeight
、fillMaxDepth
を使用すると、コンテンツが親の境界を(部分的に)埋め尽くします。フィリング修飾子を使用すると、XR デバイスのディスプレイ特性に依存しないアプリ レイアウト コンテンツを作成できます。
サイズと必要なサイズを設定する
修飾子 size
、width
、height
、depth
は、コンテンツの推奨サイズを宣言します。コンテンツの正確なサイズを宣言するには、requiredSize
、requiredWidth
、requiredHeight
、requiredDepth
を使用します。これらの単位は dp
で指定する必要があります。メートルから dp に変換するには、Meter.toDp()
を使用します。
コンポーザブルの位置を設定
offset
offset
修飾子は、x
、y
、z
軸に沿って 3D 空間内でコンポーザブルを移動します。これらの単位は dp
で指定する必要があります。メートルから dp に変換するには、Meter.toDp()
を使用します。
rotate
rotate
修飾子は、指定されたコンポーザブルを空間内で回転させます。回転の方向と回転量は、次の方法で指定できます。
- ピッチ、ヨー、ロールを使用して、それぞれ
x
軸、y
軸、z
軸の回転を指定します。 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
の省略形で、テスト フレームワークがテスト内の要素を見つけられるようにします。