Начиная с Android 15 приложения по умолчанию вынуждены работать от края к краю, что делает панель состояния и навигацию прозрачными. Однако Google тихо добавил программный интерфейс (API), посредством которого приложения могут отказаться от этого принуждения. Однако этот API не упоминается ни в каких документах разработчиков Google, публикациях блога или программистских лабораториях.
Есть много причин, почему разработчики уклонялись от того, чтобы сделать свои приложения полноэкранными, но в предстоящем обновлении Android 15 у них не будет иного выбора.
Для короткого контекста: программы уже давно могут работать от края к краю, реализуя несколько API, сообщающих ОС отображать приложение под двумя системными панелями (т.е. панелями состояния и кнопками навигации). Причина того, что Google не сразу применил такое поведение, заключается в том, что многие программы могут испытывать проблемы с пользовательским интерфейсом, если их заставляют работать от края к краю. Например, в приложении может быть интерактивный элемент, например плавающая кнопка действия, которая будет перекрывать панель навигации, если она перейдет от края к краю.
Чтобы решить эту проблему, Google дал разработчикам способ устранить перекрытия с помощью вставок, определяющих, какие части экрана программы пересекаются с интерфейсом системы. Однако из-за того, что приложения никогда не работали от края к краю, многим разработчикам не нужно было беспокоиться о разрешении этих конфликтов пользовательского интерфейса.
Когда Google анонсировала Android 15 Beta 1 в начале этого года, Google анонсировала Android 15 Beta 1, она показала, что приложения, нацеленные на Android 15, будут по умолчанию отображаться от края к краю. Чтобы помочь разработчикам с этим переходом, Google опубликовал новые документы для разработчиков, учебные пособия и лабораторные кодовые работы, которые демонстрируют, как управлять этим в Android 15.
Однако ни в одном из этих руководств не упоминается, что на самом деле существует API, который приложения могут использовать, чтобы отказаться от режима от края к краю.
Рассматриваемый API является атрибутом, который называется windowOptOutEdgeToEdgeEnforcement, какие программы могут установить значение true в своих файлах тем. По умолчанию атрибут имеет значение false, что означает, что к окну будет применен контроль от края к краю, если оно является частью приложения, нацеленного на Android 15. Однако если для атрибута установлено значение true, то соблюдение режима от края к краю не будет применено в соответствующее окно.
Однако описание API предупреждает, что этот атрибут будет устаревшим и выключенным на будущем уровне SDK, что означает, что этот обходной путь не будет вечно. Google Play Store не будет принуждать приложения нацеливаться на Android 15 до 31 августа 2026 года.