Переопределения для отдельных приложений от производителей устройств с большими экранами

В 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 – отключает переопределение минимального соотношения сторон в вертикальном полноэкранном режиме, чтобы использовать все доступное пространство экрана.

    Оптимизируйте приложение для больших экранов. Не устанавливайте ограничения на соотношение сторон. Создавайте макеты, которые поддерживают разные размеры экрана и многооконный режим.