Android には、アプリに設定されている動作を変更できるオーバーライドが用意されています。たとえば、FORCE_RESIZE_APP
オーバーライドは、アプリ マニフェストで resizeableActivity="false"
が設定されている場合でも、ディスプレイ サイズに合わせてアプリのサイズを変更するようシステムに指示します。
デバイス メーカーは、一部の大画面デバイスのアプリにオーバーライドを適用します。
アプリごとのオーバーライドは、大画面デバイスでのユーザー エクスペリエンスを改善することを目的としています。アプリは一部のオーバーライドを無効にできます。
アプリごとのオーバーライドについて詳しくは、デバイスの互換モードをご覧ください。
デバイス メーカーによるオーバーライド
デバイス メーカーは、タブレット、折りたたみ式デバイス、その他の大画面デバイスでのユーザー エクスペリエンスを向上させるために、アプリにオーバーライドを適用します。オーバーライドの一覧については、デバイスの互換モードをご覧ください。
オーバーライドを無効にする
PackageManager.Property
タグを使用すると、アプリでデバイス メーカーのオーバーライドを無効にできます。Android 14 では、以下のタグが導入されています。
PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES
FORCE_RESIZE_APP
オーバーライドとFORCE_NON_RESIZE_APP
オーバーライドを無効にするには、アプリ マニフェストでこのプロパティを false に設定します。<application> <property android:name="android.window.PROPERTY_COMPAT_ALLOW_RESIZEABLE_ACTIVITY_OVERRIDES" android:value="false"/> </application>
大画面用にアプリを最適化する: アプリのサイズを変更できるようにし、レスポンシブ/アダプティブ レイアウトを実装して、あらゆるサイズのディスプレイで最適なユーザー エクスペリエンスを実現します。
PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE
OVERRIDE_MIN_ASPECT_RATIO
を無効にするには、アプリ マニフェストでプロパティを false に設定します。<application> <property android:name="android.window.PROPERTY_COMPAT_ALLOW_MIN_ASPECT_RATIO_OVERRIDE" android:value="false"/> </application>
このプロパティは、次のデバイス メーカーのオーバーライドも無効にします。
OVERRIDE_MIN_ASPECT_RATIO_PORTRAIT_ONLY
: 縦向き限定のアクティビティに対して、所定の最小アスペクト比を強制的に適用する構成を制限します。OVERRIDE_MIN_ASPECT_RATIO_MEDIUM
: アクティビティの最小アスペクト比を中程度の値(3:2)に設定します。OVERRIDE_MIN_ASPECT_RATIO_LARGE
: アクティビティの最小アスペクト比を大きな値(16:9)に設定します。OVERRIDE_MIN_ASPECT_RATIO_TO_ALIGN_WITH_SPLIT_SCREEN
: 分割画面のアスペクト比の使用を有効にします。レターボックス表示を回避して、分割画面モードで使用可能なすべてのスペースを使用することをアプリに許可します。OVERRIDE_MIN_ASPECT_RATIO_EXCLUDE_PORTRAIT_FULLSCREEN
: 利用可能なすべての画面スペースを使用するには、縦向きの全画面表示の最小アスペクト比のオーバーライドを無効にします。
大画面向けにアプリを最適化する: アプリにアスペクト比の制限を設定しないでください。さまざまな画面サイズとマルチウィンドウ モードをサポートするアプリ レイアウトを作成します。