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軸を中心とした回転を指定します。 - 回転軸を表す
Vector3であるaxisAngleと、回転させる角度を使用して、 - 回転を表す
Quaternionを使用します。
コンポーザブルの外観を変更する
alpha
alpha 修飾子は、要素とその子要素の不透明度を設定します。0f は完全に透明、1.0f は完全に不透明を表します。
scale
scale 修飾子は、コンポーザブルのコンテンツを横軸、縦軸、奥行き軸に沿って拡大 / 縮小します。
テストとアクセシビリティ
semantics
semantics 修飾子は、テストやユーザー補助機能で使用するセマンティクスをレイアウト ノードに追加します。Jetpack Compose のセマンティクスと SemanticsModifier をご覧ください。
testTag
testTag 修飾子は SemanticsPropertyReceiver.testTag の短縮形です。これにより、テスト フレームワークはテストで要素を見つけることができます。