TGViewer
Mobile Compose Mobile Compose @mobile_compose · 2.96K subscribers
Post #424 2.36K
#Compose #UI #Tooling

🎨 Compose 1.11.0 — Preview wrappers

Compose 1.11.0 делает шаг навстречу ментальному здоровью разработчиков и добавляет PreviewWrappers. В чем суть: раньше для каждого превью приходилось вручную писать обертку вроде AppTheme { ... }. Теперь можно создать один универсальный класс-обертку.

Как это работает:
▫️Реализуете интерфейс PreviewWrapper, где в методе Wrap описываете нужный контекст (тему, CompositionLocals и т.д.).
▫️Вешаете аннотацию PreviewWrapperProvider на функцию превью.

class ThemeWrapper: PreviewWrapper {
@Composable
override fun Wrap(content: @Composable (() -> Unit)) {
JetsnackTheme {
content()
}
}
}

@PreviewWrapperProvider(ThemeWrapper::class)
@Preview
@Composable
private fun ButtonPreview() {
Button(onClick = {}) {
Text(text = "Demo")
}
}


Плюсы:
▫️Чистый код: Превью-функции содержат только код самого компонента.
▫️Масштабируемость: Отлично работает с MultiPreview. Можно один раз настроить обертку для темной/светлой темы или разных локалей.
▫️Единообразие: Весь дизайн-код превью теперь живет в одном месте, а не размазан по проекту.

Важно — чтобы это заработало, помимо версии Compose, необходимо обновить и Android Studio до актуальной версии.

🎨 Mobile Compose 💬 Чат канала
♾
  • 👍 14
  • 🔥 6
  • ❤ 3
  • 🤔 2
More from @mobile_compose
  1. Sep 23, 2026⚡️⚡️AI-агент съел токены и потерял контекст. Что делать? Разберемся на Mobius 2026 Autumn.…
  2. Sep 22, 2026#Release #Compose #Changelog 😇 Релиз Compose библиотек (09.09.2026) 🔵 Animation 1.12.1/1…
  3. Aug 28, 2026#Release #Compose #Changelog 😇 Релиз Compose библиотек (26.08.2026) 🔵 Animation 1.13.0-a…
  4. Aug 25, 2026#Article #Habr #UI #Compose 🎨 Почему баннер Yandex Ads мигает в LazyColumn — и при чём зд…
  5. May 25, 2026#Release #Compose #Changelog 😇 Релиз Compose библиотек (19.05.2026) 🔵 Animation 1.11.2/1…
  6. May 19, 2026🎨 Король умер — да здравствует король! Google официально объявила о переходе к стратегии…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →