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
: 利用可能な画面スペースをすべて使用するには、縦向きの全画面表示の最小アスペクト比のオーバーライドを無効にします。
アプリを大画面向けに最適化する: アプリにアスペクト比の制限を設定しないでください。さまざまな画面サイズとマルチウィンドウ モードをサポートするアプリのレイアウトを作成します。