ユーザーは、ホームスペースとフルスペースの 2 つのモードでアプリを使用できます。ホームスペースでは、ユーザーは他のアプリと並行してアプリを実行してマルチタスクを行うことができます。フルスペースでは、Android XR の没入型機能を完全に利用できるユーザー エクスペリエンスの中心として、アプリが注目されます。
空間化は現在、フルスペースでのみサポートされています。アプリをフルスペースに移行して、空間機能と 3D 機能を利用できます。アプリがフォーカスされている場合は、XR セッションから対応するモードをリクエストすることで、これらのモードを切り替えることができます。
起動のデフォルト モードを宣言するセクションで説明されているように、特に指定しない限り、アプリはデフォルトでホームスペースで開きます。
ホームスペースとフルスペースの切り替え
ホーム空間とフル空間を切り替えるには、Session
から動作モードをリクエストする必要があります。次の例に示すように、これらのリクエストを使用すると、ユーザーがボタンをクリックしてモードを切り替えられるようにできます。
@Composable
private fun HomeSpaceFullSpaceToggleButton() {
val xrSession = checkNotNull(LocalSession.current)
val uiIsSpatialized = LocalSpatialCapabilities.current.isSpatialUiEnabled
val toggleModes = if (uiIsSpatialized) {
{ xrSession.requestHomeSpaceMode() }
} else {
{ xrSession.requestFullSpaceMode() }
}
IconButton(
onClick = {
toggleModes()
}
) {
Icon(
painter = painterResource(id = drawable),
contentDescription = stringResource(contentDescription)
)
}
}
ホームスペースからフルスペースへの切り替えと、2 つのスペースを適切に切り替える方法について詳しくは、設計ガイダンスをご覧ください。
起動のデフォルト モードを宣言する
アプリをホームスペースで起動するのか、フルスペースで起動するのかを選択するには、Android マニフェスト ファイルに次の行を追加します。
// Launch in Full Space:
<property
android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
android:value="XR_ACTIVITY_START_MODE_FULL_SPACE_MANAGED" />
// Or, launch in Home Space:
<property
android:name="android.window.PROPERTY_XR_ACTIVITY_START_MODE"
android:value="XR_ACTIVITY_START_MODE_HOME_SPACE_MANAGED" />