大画面アプリの互換性設定ガイド

このページでは、Android 大画面アプリの互換性構成オーバーレイの包括的な設定ガイドとインデックスを提供します。

ディスプレイ

このセクションでは、ディスプレイ レベルの構成に影響するすべての構成設定を一覧表示します。

名前 場所 タイプ デフォルト
ignoreOrientationRequest display_settings.xml config false
大画面(600 dp 以上)用の true
説明
指定されたディスプレイで、固定された向きのアクティビティをユーザーが自由に回転させられるようにします。
例:
          <display-settings>
              <config identifier="0" />
              <display
                  name="<display's uniqueId>"
                  ignoreOrientationRequest="true"/>
          </display-settings>
        

ユースケースまたはコンテキスト
ディスプレイがすべてのアプリの向きの要求を無視し、アプリがレターボックス表示されます。
すべての大画面デバイスと Android Automotive OS で使用されます。これは、Android 16 以降で smallestScreenWidthDp >= 600dp を搭載するすべての大型デバイスのデフォルトです。
config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
全画面表示中に最適でない画面の向きに自動回転しないようにする、没入型アプリの回転互換性ポリシーを有効にします。ゲームなどの没入型アプリは、すべての向きに最適化されていないことが多く、回転させると UX が低下する可能性があるため、この設定が必要です。また、ゲームプレイにセンサーを使用しているゲームもあるため、自動回転がオンになっていると、ユーザーが誤って回転をトリガーしてしまう可能性があります。
ignoreOrientationRequest が有効になっている場合にのみ適用されます。

ユースケースまたはコンテキスト
没入型アプリの回転をロックします。

アスペクト比

このセクションでは、アスペクト比のアクティビティ レベルのウィンドウ構成に影響するすべての構成設定を一覧表示します。

名前 場所 タイプ デフォルト
config_fixedOrientationLetterboxAspectRatio frameworks/base/core/res/res/values/config.xml Float 0.0
説明
固定の向きのレターボックスのアスペクト比を設定します。1.0 以下の値は無視されます。

ユースケースまたはコンテキスト
ほとんどのレターボックス アプリで動作するデバイスのデフォルトのアスペクト比を設定します。通常はスクエアに近いアスペクト比になります。
config_letterboxIsSplitScreenAspectRatioForUnresizableAppsEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
分割画面のアスペクト比をサイズ変更不可のアプリのデフォルトのアスペクト比として使用するかどうかを設定します。

ユースケースまたはコンテキスト
サイズ変更不可のアプリのほとんどは、縦向きのキャンディバー型スマートフォンのレイアウトを想定しています。
config_letterboxIsDisplayAspectRatioForFixedOrientationLetterboxEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
ディスプレイのアスペクト比を、レターボックス表示のすべてのアプリのデフォルトのアスペクト比として使用するかどうかを設定します。

ユースケースまたはコンテキスト
浮動小数点値を設定する代わりに、ディスプレイのアスペクト比をプログラムで設定するための構成。

カメラ

このセクションでは、onCameraOpened のコールバック時にアプリに影響するすべての構成設定をリストします。これらの設定は、ディスプレイ、アクティビティ、カメラの設定に影響する可能性があります。

名前 場所 タイプ デフォルト
config_isWindowManagerCameraCompatTreatmentEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
カメラ バッファとアプリ ウィンドウの向きが一致しないことが原因で発生する問題に対して、カメラの互換性処理を有効にします。
これには、全画面でカメラに接続された固定方向のアクティビティの強制回転や、分割画面でのツールチップの表示が含まれます。
アプリごとのオーバーライドで強制回転処理を無効にできます。 OVERRIDE_CAMERA_COMPAT_DISABLE_FORCE_ROTATION.

ユースケースまたはコンテキスト
アプリがリクエストした向きに合わせてディスプレイを強制的に回転させることで、回転したカメラ プレビューを修正します。
config_isWindowManagerCameraCompatSplitScreenAspectRatioEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
カメラ互換性処理が有効で、アクティビティが全画面でカメラに接続されている場合、アクティビティが分割画面のアスペクト比を使用するかどうかを設定します。

ユースケースまたはコンテキスト
アクティビティをキャンディバーのようなアスペクト比にレターボックス化することで、カメラ プレビューの引き伸ばしを修正します。
通常、横向きデバイスで強制回転処理(config_isWindowManagerCameraCompatTreatmentEnabledcamera.enable_landscape_to_portrait)を有効にして、アクティビティの縦向きのバーのようなアスペクト比をシミュレートすることで、カメラの互換性に関する問題の拡大を修正するために使用されます。
camera.enable_landscape_to_portrait システム プロパティ Bool false
説明
OVERRIDE_CAMERA_LANDSCAPE_TO_PORTRAIT 処理をゲートします。
横向きの自然な向きのカメラで、カメラの出力が切り抜かれ、90 度回転されて、縦向きの自然な向きがシミュレートされます。デバイスのすべての横向きカメラで、報告されるカメラセンサーの向きが縦向きである。多くのアプリはこの状況に対処せず、引き伸ばされた画像を表示します。

ユースケースまたはコンテキスト
カメラ HAL の回転と切り抜きの処理を有効にします。処理について詳しくは、回転、切り抜き、拡大縮小をご覧ください。
ビルド時に mk ファイルに PRODUCT_PROPERTY_OVERRIDES += camera.enable_landscape_to_portrait=true を追加します。
この処理では、デバイスが HAL で SCALER_ROTATE_AND_CROP をサポートする必要があります。CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES をご覧ください。
SCALER_ROTATE_AND_CROP の HAL 固有の実装に関するガイダンスについては、metadata_definitions.xml をご覧ください。

背景と UI

このセクションでは、UI のカスタマイズのためにレターボックス レイヤのサーフェスに適用される、またはアクティビティ レベルで適用されるすべての構成設定を一覧表示します。

名前 場所 タイプ デフォルト
config_letterboxActivityCornersRadius frameworks/base/core/res/res/values/config.xml Integer 0
説明
レターボックス モードで表示されるアクティビティの角の丸みを構成します。0 より小さい値は、デバイスの角の半径の最小値に等しい半径の丸い角を有効にします。デフォルト値の 0 は、AppCompatLetterboxPolicy の角丸ロジックをオフにします。

ユースケースまたはコンテキスト
通常は、物理デバイスの角丸に合わせて設定します。
config_letterboxIsEnabledForTranslucentActivities frameworks/base/core/res/res/values/config.xml Bool false
説明
半透明アクティビティのレターボックス表示の特定の動作を有効にするかどうかを設定します。

ユースケースまたはコンテキスト
半透明アクティビティまたはモーダルをレターボックス表示にして、レターボックス表示アクティビティの構成内で制約できるようにします。このポリシーは TransparentPolicy に適用されます。
config_isCompatFakeFocusEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
分割画面で再開されたアクティビティの互換性用の偽のフォーカスを送信するかどうかを設定します。
一部のゲームエンジンは、アプリのコンテンツを描画する前にフォーカスの取得を待機しますが、マルチウィンドウ モードではデフォルトでフォーカスが提供されないため、この設定が必要です。

ユースケースまたはコンテキスト
分割画面モードに入った後に黒くなり、ユーザーがアプリをタップしてフォーカスした後にのみ描画されるアプリの Unity ゲームエンジンに互換性処理を適用するためのレガシー フラグ。
config_letterboxBackgroundType frameworks/base/core/res/res/values/config.xml Integer 0
説明
レターボックスの背景の角の形状を設定します。
  • 0 - R.color.config_letterboxBackgroundColor で指定された色を使用した単色の背景。
  • 1 - レターボックス アプリケーションの R.attr.colorBackground で指定された色。
  • 2 - レターボックス アプリケーションの R.attr.colorBackgroundFloating で指定された色。
  • 3 - ぼかしや暗いスクリムが適用された壁紙。config_letterboxBackgroundWallpaperBlurRadius または config_letterboxBackgroundWallpaperDarkScrimAlpha のいずれかのパラメータが 0 より大きい必要があります。そうでない場合、またはぼかし半径が指定されているものの、デバイスがぼかしに対応しておらず、このオプションが選択されている場合、実装はデフォルトでオプション 0 になります。指定された値がこの範囲外の場合、オプション 0 が想定されます。


ユースケースまたはコンテキスト
パフォーマンスに関する既存の問題のため、この機能はリリースされていません。OEM はこの機能の独自の実装を作成できますが、AOSP はバグを処理しません。
config_letterboxBackgroundColor frameworks/base/core/res/res/values/config.xml Color @color/system_neutral1_1000
説明
次のいずれかの条件が true の場合、レターボックスの背景色を設定します。
  • R.integer.config_letterboxBackgroundType にオプション 0 が選択されています。
  • R.integer.config_letterboxBackgroundType にオプション 1 が選択され、アプリに R.attr.colorBackground が指定されていない。
  • R.integer.config_letterboxBackgroundType にオプション 2 が選択され、アプリに R.attr.colorBackgroundFloating が指定されていない。
  • R.integer.config_letterboxBackgroundType にオプション 3 が選択され、ぼかしがリクエストされたがデバイスでサポートされていない場合、またはダーク スクリムのアルファ値とぼかし半径の両方が指定されていない場合。


ユースケースまたはコンテキスト
パフォーマンスに関する既存の問題のため、この機能はリリースされていません。OEM はこの機能の独自の実装を作成できますが、AOSP はバグを処理しません。
config_letterboxBackgroundWallpaperBlurRadius frameworks/base/core/res/res/values/config.xml Dimen 38dp
説明
R.integer.config_letterboxBackgroundType のオプション 3 のぼかし半径を設定します。0 より小さい値は無視され、0 が使用されます。

ユースケースまたはコンテキスト
既存のパフォーマンスの問題により、この機能はリリースされていません。OEM はこの機能の独自の実装を作成できますが、AOSP はバグを処理しません。
config_letterboxBackgroundWallpaperDarkScrimAlpha frameworks/base/core/res/res/values/config.xml Float 0.54
説明
R.integer.config_letterboxBackgroundType でオプション 3 が選択されている場合、壁紙のレターボックスの背景の上に表示される黒い半透明のスクリムのアルファ値を設定します。0 より小さい値、または 1 以上の値は無視され、代わりに 0.0(透明)が使用されます。

ユースケースまたはコンテキスト
既存のパフォーマンスの問題により、この機能はリリースされていません。OEM はこの機能の独自の実装を作成できますが、AOSP はバグを処理しません。

ネットワーク到達性とポジショニング

このセクションでは、ユーザー補助の活動レベルのウィンドウ構成に適用されるすべての構成設定を一覧表示します。

名前 場所 タイプ デフォルト
config_letterboxIsHorizontalReachabilityEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
全画面ウィンドウ モードのレターボックス アプリで、横方向のリーチ可能性の再配置を有効にするかどうかを設定します。

ユースケースまたはコンテキスト
縦向きアプリを左または右に再配置して、アクセスしやすくします。
config_letterboxHorizontalPositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.5
説明
レターボックス アプリ ウィンドウの中央の水平位置を設定します。
0 は画面の左側に対応し、1 は右側に対応します。
指定された値が 0 より小さいか 1 より大きい場合、無視されます。ブック以外の姿勢では、中央の位置(0.5)が使用されます。ブック ポーズの場合、左側の位置(0.0)が使用されます。

ユースケースまたはコンテキスト
縦向きのレターボックス アプリの場合、デフォルトは中央になります。
config_letterboxIsVerticalReachabilityEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
全画面ウィンドウ モードのレターボックス アプリで、縦方向のリーチアビリティの再配置を有効にするかどうかを設定します。

ユースケースまたはコンテキスト
横向きのアプリを上部または下部に再配置して、アクセスしやすくします。
config_letterboxVerticalPositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
説明
レターボックス アプリ ウィンドウの中央の垂直位置を設定します。
0 は画面の上部に対応し、1 は下部に対応します。
指定された値が 0 より小さいか 1 より大きい場合、無視されます。テーブルトップ モード以外では、中央の位置(0.5)が使用されます。卓上姿勢の場合、上部位置(0.0)が使用されます。

ユースケースまたはコンテキスト
横向きのレターボックス表示のアプリで、大画面デバイスの中央に配置するように設定されています。
config_letterboxIsAutomaticReachabilityInBookModeEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
全画面ウィンドウ モードでレターボックス表示されるアプリで、ブック ポジションの自動水平リーチ位置決めを有効にするかどうかを設定します。

ユースケースまたはコンテキスト
折りたたみ式デバイスがブック ポジションのとき、縦向きのレターボックス表示されるアプリを左右に移動できるようにします。
config_letterboxBookModePositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
説明
ブック ポスチャーのときに、レターボックス表示されたアプリ ウィンドウの中心の水平位置を設定します。
0 は画面の左側に対応し、1 は右側に対応します。指定された値が 0 より小さいか 1 より大きい場合は無視され、左側の位置(0.0)が使用されます。

ユースケースまたはコンテキスト
書籍の姿勢で再配置されたときにアプリの位置が移動する量の乗数。
config_letterboxDefaultPositionForBookModeReachability frameworks/base/core/res/res/values/config.xml Integer 0
説明
リーチアビリティが有効で、アプリが横向きのデバイスの向きとブック ポスチャーで全画面表示されている場合に、レターボックス表示されたアプリ ウィンドウのデフォルトの水平位置を設定します。片手操作が有効になっている場合、位置は左、中央、右の間で変更できます。
  • オプション 0 - 左
  • オプション 1 - 中央
  • オプション 2 - 右
指定された値がこの範囲外の場合、オプション 0(左)が想定されます。

ユースケースまたはコンテキスト
アプリがブックモードで配置されるデフォルトの位置。
config_letterboxTabletopModePositionMultiplier frameworks/base/core/res/res/values/config.xml Float 0.0
説明
卓上姿勢の場合に、レターボックス表示されるアプリ ウィンドウの中央の垂直方向の位置を設定します。
0 は画面の上部に対応し、1 は下部に対応します。指定された値が 0 より小さいか 1 より大きい場合は無視され、最上位の 0.0 が使用されます。

ユースケースまたはコンテキスト
卓上姿勢の場合に、折りたたみ式デバイスでアプリの位置が移動する量の乗数。
config_letterboxDefaultPositionForTabletopModeReachability frameworks/base/core/res/res/values/config.xml Integer 0
説明
リーチアビリティが有効で、アプリが縦向きのデバイスの向きでテーブルトップの形状で全画面表示されている場合に、レターボックス表示されたアプリ ウィンドウのデフォルトの垂直位置を設定します。リーチアビリティが有効になっている場合、位置は上、中央、下の間で変更できます。この構成は、デフォルトの
を定義します。
  • オプション 0 - 上
  • オプション 1 - 中央
  • オプション 2 - 下
指定された値がこの範囲外の場合、オプション 0(上)が想定されます。

ユースケースまたはコンテキスト
アプリが卓上モードで配置されるデフォルトの位置。

設定

このセクションでは、[設定] > [アプリ] > [アスペクト比] でユーザーのアスペクト比設定をカスタマイズして有効にするためのすべての設定を一覧表示します。

名前 場所 タイプ デフォルト
config_appCompatUserAppAspectRatioSettingsIsEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
アプリごとのユーザー アスペクト比オーバーライド設定を有効にするかどうかを設定します。

ユースケースまたはコンテキスト
[設定] > [アプリ] > [アスペクト比] でアスペクト比設定機能を有効にします。
config_appCompatUserAppAspectRatioFullscreenIsEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
アプリごとの全画面オーバーライド オプションをユーザーのアスペクト比設定で有効にするかどうかを設定します。

ユースケースまたはコンテキスト
ユーザーのアスペクト比設定機能で [全画面] オプションを有効にします。
この設定では、アプリのサイズ変更不可、アスペクト比、向きの制限が無視されます。
config_userAspectRatioOverrideEntries packages/apps/Settings/res/values/config.xml string-array すべてのオプションはデフォルトで有効になっています。
説明
アプリのアスペクト比設定画面とユーザーのアスペクト比オーバーライド オプションを設定します。config_userAspectRatioOverrideValues と同じ長さと順序にする必要があります。
変更された場合は、UserAspectRatioBackupManager.java で最も近い値を選択するためのバックアップと復元のロジックも更新します。

ユースケースまたはコンテキスト
設定に表示される文字列のマッピング。
config_userAspectRatioOverrideValues packages/apps/Settings/res/values/config.xml integer-array デフォルトでは、すべての AOSP 文字列が使用されます。
説明
アプリのアスペクト比設定画面とユーザーのアスペクト比オーバーライド オプションを設定します。config_userAspectRatioOverrideEntries と同じ長さと順序にする必要があります。値は PackageManager.UserMinAspectRatio に対応している必要があります。
変更された場合は、UserAspectRatioBackupManager.java で最も近い値を選択するためのバックアップと復元のロジックも更新します。

ユースケースまたはコンテキスト
バックエンド PackageManager.UserMinAspectRatio へのオプションのマッピング:
  • アプリのデフォルト - 0
  • 分割画面 - 1
  • ディスプレイのアスペクト比 - 2
  • 4:3 - 3
  • 16:9 - 4
  • 3:2 - 5
  • 全画面表示 - 6
静的なライトモードのドローアブル packages/apps/Settings/res/drawable/ic_app_aspect_ratio_<option>.xml vector 横向きの折りたたみ式サイズのアセット
説明
使用可能なドローアブルを構成します。


ユースケースまたはコンテキスト
[設定] > [アプリ情報] > [アスペクト比] の各オプションのライトテーマの静止画像。
静的なダークテーマのドローアブル packages/apps/Settings/res/drawable-night/ic_app_aspect_ratio_<option>.xml vector 横向きの折りたたみ式サイズのアセット
説明
使用可能なドローアブルを構成します。


ユースケースまたはコンテキスト
[設定] > [アプリ情報] > [アスペクト比] の各オプションのダークテーマの静止画像。
動的ドローアブル
user_aspect_ratio_education.json
packages/apps/Settings/res/raw/user_aspect_ratio_education.json JSON 横向きの折りたたみ式サイズの動的アセット
説明
UserAspectRatioAppsPageProvider で Lottie イラストを構成します。

ユースケースまたはコンテキスト
アプリリストの下のアニメーション: [設定] > [アプリ] > [アスペクト比]。

教育

このセクションでは、アプリの互換性機能についてユーザーに説明するためのすべての構成設定を一覧表示します。

名前 場所 タイプ デフォルト
config_letterboxIsEducationEnabled frameworks/base/core/res/res/values/config.xml Bool false
説明
レターボックス表示の全画面アプリでレターボックス表示の教育を有効にするかどうかを設定します。

ユースケースまたはコンテキスト
全画面アプリのレターボックス表示の教育のユースケースについては、図 1 をご覧ください。
config_letterboxIsRestartDialogEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
説明
拡張再起動ダイアログを有効にするかどうかを設定します。

ユースケースまたはコンテキスト
拡張再起動ダイアログのユースケースについては、図 2 を参照してください。
config_letterboxIsReachabilityEducationEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool false
説明
到達可能性に関する追加の教育を有効にするかどうかを設定します。

ユースケースまたはコンテキスト
到達可能性に関する教育のユースケースについては、図 3 をご覧ください。
config_isSizeCompatRestartButtonEnabled frameworks/base/libs/WindowManager/Shell/res/values/config.xml Bool true
説明
サイズ互換性再起動ボタンを有効にするかどうかを設定します。

ユースケースまたはコンテキスト
ウィンドウ サイズの変更後(分割画面への切り替えやディスプレイの回転など)に、サイズ変更できないアプリの設定を再起動するための再起動ボタン。
サイズ互換性再起動ボタンのユースケースについては、図 4 を参照してください。
config_letterboxRestartButtonHideTolerance frameworks/base/libs/WindowManager/Shell/res/values/config.xml Integer 100
説明
タスク内のアクティビティ境界の割合の最小許容値を設定して、サイズ互換性再起動ボタンを非表示にします。0 より小さい値、または 100 より大きい値は無視されます。
100 はデフォルト値です。アクティビティがタスク内にぴったり収まるようにして、サイズ互換性の再起動ボタンを非表示にできるようにします。値 0 は、サイズ互換性の再起動ボタンが常に非表示であることを意味します。

ユースケースまたはコンテキスト
正方形に近いデバイスで使用され、サイズ変更不可のアプリがユーザーによって回転されたときに再起動ボタンを非表示にします。ただし、アプリを再起動しても UI が大幅に改善されることはありません。

次の画像は、教育用オーバーレイのユースケースを示しています。

全画面表示アプリのレターボックス表示

図 1. 全画面表示アプリのレターボックス表示

拡張された再起動ダイアログの例。

図 2. 再起動の延長ダイアログ

到達可能性に関する教育の例。

図 3. ネットワーク到達性に関する説明。

サイズ互換モードの再起動ボタンの例。

図 4. サイズ互換モードの再起動ボタン。