Wear OS получит системный статус-бар

Gemini wearOS

Google готовит заметное изменение в архитектуре интерфейса Wear OS: вместо привычного для разработчиков подхода, при котором каждая программа самостоятельно рисует часы в верхней части круглого экрана, платформа получит единый системный статус-бар. Он будет постоянно отображаться поверх окон приложений в верхней точке циферблата и показывать текущее время и системные индикаторы — по аналогии с Android на смартфонах и планшетах.

Что именно меняется

До сих пор часы на часах были головной болью разработчиков: каждый встраивал TimeText в свой layout и следил за отступами, чтобы строка не наезжала на контент и не обрезалась на круглом дисплее. Теперь эта ответственность уходит на уровень системы.

Ключевые моменты нововведения:

  • Единая типографика и позиционирование. Системные индикаторы используют стандартизированные шрифт, расположение и подложку (backplate) во всех приложениях и на уровне платформы. Это должно устранить визуальный разнобой, когда у каждого разработчика часы выглядели и стояли чуть по-своему.

  • Полноэкранные сценарии поддерживаются. Приложения, которым нужен режим погружения, могут скрывать статус-бар.

  • Пока это заглушка. В текущем превью вместо реальных индикаторов отображается звёздочка — финальный набор иконок ещё не утверждён.

Автоматика для Jetpack Compose for Wear OS

Самое интересное для тех, кто пишет под Wear OS на Compose. Если приложение таргетирует API level 35 и выше и компилируется против Compose for Wear OS 1.8.0-alpha02 или новее, то AppScaffold и ScreenScaffold автоматически подключают приложение к системному статус-бару.

Как это работает под капотом:

  • AppScaffold подавляет собственный TimeText внутри приложения, чтобы не дублировать время — на экране остаются только системные часы.

  • ScreenScaffold применяет padding под верхний window inset статус-бара, а при скролле списков скрывает бар. После примерно двух секунд бездействия пользователя текст времени возвращается.

  • Полноэкранные интерактивные компоненты Wear Compose Material 3 — AlertDialog, Dialog, Stepper, TimePicker, DatePicker — сами прячут статус-бар на время показа.

  • Для экранов, которым нужен полный иммерсив, предусмотрен StatusBarSuppression.

По сути, Google закрывает сразу две боли: дублирование часов и рассинхронизацию отступов между системной строкой и контентом приложения. Разработчикам, которые уже используют scaffold-компоненты, миграция обойдётся почти бесплатно — достаточно поднять target API и версию библиотеки.

Где это можно потрогать и когда ждать

Функция доступна в canary-эмуляторе Wear OS в Android Studio — он предназначен именно для тестирования грядущих платформенных изменений до релиза на физических устройствах. Эмулятор опубликован как Wear OS 7.1 (API level 37.2-beta1, на базе Android 17 «CinnamonBun», build ID CP41.260831.001.E8).

Важная деталь для планирования: статус-бар включён только в этот canary-эмулятор и не попадёт в грядущий стабильный эмулятор Wear OS 7.1. То есть релиз 7.1 состоится, а статус-бар приедет в более позднем платформенном обновлении. Google прямо просит тестировать и присылать фидбэк сейчас — значит, финальный дизайн индикаторов и поведение при скролле ещё могут измениться.

Практические выводы

  1. Проверяйте вёрстку на canary-эмуляторе уже сейчас. Если ваше приложение рисует собственные часы вне scaffold-компонентов или вручную управляет верхними отступами, после включения статус-бара возможны наложения и двойное отображение времени.

  2. Поднимайте target API до 35 и Compose for Wear OS до 1.8.0-alpha02+, если хотите получить автоматическую интеграцию и не поддерживать собственный код часов.

  3. Для полноэкранных сценариев (видео, тренировки, карты) заранее предусмотрите StatusBarSuppression — иначе системная строка будет висеть поверх контента.

  4. Не рассчитывайте на релиз в 7.1. Стабильный эмулятор 7.1 выйдет без статус-бара — не стоит закладывать его в сроки как часть этого апдейта.

Переход на системный статус-бар — логичный шаг к унификации Wear OS: платформа забирает себе то, что раньше каждый реализовывал по-своему, и взамен даёт предсказуемый визуальный стандарт. Для разработчиков это меньше кода и меньше краевых случаев, для пользователей — консистентный интерфейс на всех часах. Осталось дождаться, чем заменят звёздочку-заглушку и как система поведёт себя на устройствах с реальными индикаторами батареи и подключения.

Все про систему Андроид
Добавить комментарий