На этой странице представлено подробное руководство по настройке и указатель параметров конфигурации совместимости приложений для больших экранов Android.
Отображать
В этом разделе перечислены все параметры конфигурации, влияющие на настройку на уровне дисплея.
| Имя | Расположение | Тип | По умолчанию |
|---|---|---|---|
ignoreOrientationRequest | display_settings.xml | конфигурация | falsetrue для больших экранов (>= 600dp) |
| Описание Обеспечивает свободное вращение пользователем объектов с фиксированной ориентацией на указанном дисплее. Пример:
<display-settings>
<config identifier="0" />
<display
name="<display's uniqueId>"
ignoreOrientationRequest="true"/>
</display-settings>
Вариант использования или контекст Экран игнорирует запрошенную ориентацию всех приложений, и приложение отображается с черными полосами по бокам . Используется на всех устройствах с большими экранами и в операционной системе Android Automotive. Это значение по умолчанию для всех устройств с большими экранами, у которых smallestScreenWidthDp >= 600dp в Android 16 и выше. | |||
config_letterboxIsDisplayRotationImmersiveAppCompatPolicyEnabled | frameworks/base/core/res/res/values/config.xml | Bool | false |
| Описание Включает политику совместимости поворота экрана для иммерсивных приложений, которая предотвращает автоматический поворот в неоптимальную ориентацию экрана в полноэкранном режиме. Это необходимо, поскольку иммерсивные приложения, такие как игры, часто не оптимизированы для всех ориентаций и могут иметь плохой пользовательский опыт при повороте. Кроме того, некоторые игры используют датчики для управления игровым процессом, поэтому пользователи могут случайно запускать такие повороты, когда включена автоматическая ориентация. Применяется только в том случае, если 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_isWindowManagerCameraCompatTreatmentEnabled и camera.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Для этой обработки требуется, чтобы устройство поддерживало SCALER_ROTATE_AND_CROP в HAL. См. CameraCharacteristics#SCALER_AVAILABLE_ROTATE_AND_CROP_MODES .Инструкции по реализации параметра SCALER_ROTATE_AND_CROP в HAL см. в файле metadata_definitions.xml . | |||
Фон и пользовательский интерфейс
В этом разделе перечислены все параметры конфигурации, применяемые к поверхности слоя с черными полосами для настройки пользовательского интерфейса или на уровне активности.
| Имя | Расположение | Тип | По умолчанию |
|---|---|---|---|
config_letterboxActivityCornersRadius | frameworks/base/core/res/res/values/config.xml | Integer | 0 |
| Описание Настраивает радиус скругления углов для действия, отображаемого в режиме Letterbox. Значения меньше 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 |
| Описание Настраивает внешний вид углов фона в формате Letterbox:
Вариант использования или контекст Эта функция не запущена из-за существующих проблем с производительностью. Производители оборудования могут создать собственную реализацию этой функции, но AOSP не будет заниматься исправлением ошибок. | |||
config_letterboxBackgroundColor | frameworks/base/core/res/res/values/config.xml | Color | @color/system_neutral1_1000 |
| Описание Задает цвет фона рамки, если true одно из следующих условий:
Вариант использования или контекст Эта функция не запущена из-за существующих проблем с производительностью. Производители оборудования могут создать собственную реализацию этой функции, но AOSP не будет заниматься исправлением ошибок. | |||
config_letterboxBackgroundWallpaperBlurRadius | frameworks/base/core/res/res/values/config.xml | Dimen | 38dp |
| Описание Задает радиус размытия для параметра 3 в R.integer.config_letterboxBackgroundType . Значения меньше 0 игнорируются, используется значение 0 .Вариант использования или контекст Эта функция не запущена из-за существующих проблем с производительностью. Производители оборудования могут создать собственную реализацию этой функции, но AOSP не будет заниматься исправлением ошибок. | |||
config_letterboxBackgroundWallpaperDarkScrimAlpha | frameworks/base/core/res/res/values/config.xml | Float | 0.54 |
| Описание Настраивает прозрачность (альфа-канал) черного полупрозрачного экрана, отображаемого поверх фона обоев в формате Letterbox, если для R.integer.config_letterboxBackgroundType выбран вариант 3 Значения меньше 0 или больше или равные 1 игнорируются, и вместо них используется 0.0 (прозрачный).Вариант использования или контекст Эта функция не запущена из-за существующих проблем с производительностью. Производители оборудования могут создать собственную реализацию этой функции, но 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 |
| Описание Настраивает горизонтальное положение центра окна приложения с черными полосами по бокам (letterbox) в режиме просмотра книги. 0 соответствует левой стороне экрана, а 1 — правой. Если заданное значение меньше 0 или больше 1 , оно игнорируется, и используется левая позиция ( 0.0 ).Вариант использования или контекст Множитель, определяющий, насколько смещается положение приложения при изменении его положения в книжной ориентации. | |||
config_letterboxDefaultPositionForBookModeReachability | frameworks/base/core/res/res/values/config.xml | Integer | 0 |
| Описание Настраивает горизонтальное положение окна приложения по умолчанию, когда включена функция доступности и приложение находится в полноэкранном режиме в альбомной ориентации устройства и в положении «книжка». При включении функции доступности положение может изменяться между левым, центральным и правым положениями:
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 (верхний).Вариант использования или контекст Положение по умолчанию, в котором приложение размещается в настольном режиме. | |||
Настройки
В этом разделе перечислены все параметры конфигурации для настройки и включения параметров соотношения сторон пользовательского интерфейса в разделе «Настройки» > «Приложения» > «Соотношение сторон» .
| Имя | Расположение | Тип | По умолчанию |
|---|---|---|---|
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 :
| |||
| Рисунки на тему статического освещения | 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 | Динамический ресурс, складывающийся в альбомную ориентацию. |
| Описание Настраивает иллюстрацию Lottie в UserAspectRatioAppsPageProvider .Вариант использования или контекст Анимация под списком приложений: Настройки > Приложения > Соотношение сторон . | |||
Образование
В этом разделе перечислены все параметры конфигурации, предназначенные для обучения пользователей функциям совместимости приложений.
| Имя | Расположение | Тип | По умолчанию |
|---|---|---|---|
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 означает, что кнопка перезапуска, отвечающая за совместимость размеров, всегда скрыта.Вариант использования или контекст Используется на устройствах с почти квадратным экраном для скрытия кнопки перезапуска, когда пользователь поворачивает приложения, размер которых не изменяется, но перезапуск приложения не приведет к существенному улучшению пользовательского интерфейса. | |||
На следующих изображениях показаны примеры использования образовательного наложения:

Рисунок 1. Обучение работе с приложениями в полноэкранном режиме с использованием технологии Letterbox.

Рисунок 2. Расширенное диалоговое окно перезапуска.

Рисунок 3. Образование в области доступности.

Рисунок 4. Кнопка перезапуска, обеспечивающая совместимость по размеру.