TGViewer
Android Good Reads Android Good Reads @droidgr · 4.02K subscribers
Post #2122 3.26K
Как под капотом работает @Preview?

👉 Для просмотра метода с @Preview аннотацией используется androidx.compose.ui.tooling.PreviewActivity, который собирает параметры из @PreviewParameter и свойства из @Preview
👉 Все это должно как то собираться воедино, да? Это происходит во время градловской команды androidTest. На выходе получаем apk с превьюшками, который выводится в Android Studio.
👉 Как можно этим воспользоваться? Например, положить AndroidManifest.xml в module/src/androidTest и поменять параметры приложения, которое запускается для preview. А значит, мы можем и сами собрать приложение из наших @Preview и любых @Composable элементов на девайс!

В статье больше технических примеров, рекомендую глянуть. Практического применения этим знаниям я не могу найти, поправьте меня в комментариях если у вас есть идеи, но знать как работает под капотом инструмент, которым ты пользуешься всегда полезно
Medium Jetpack Compose Previews: Delving Deep Into Their Inner Workings Uncover the secrets of Jetpack Compose Previews! Learn to run them with adb, how to compile them and the nuances in multi-module setups.
  • 👍 7
  • 🔥 6
  • ❤ 3
  • 🤔 1
  • 😢 1
More from @droidgr
  1. Sep 30, 2026🏗 Строим мультиагентные системы для разработки на Podlodka AI Crew Инженерные задачи редк…
  2. Aug 6, 2026Если вам всё ещё интересна мобильная разработка, рекомендую подписаться на канал Kotlin Ad…
  3. Aug 4, 2026Post #2504
  4. Jul 26, 2026Как я играю в экосистему продуктов Наиболее близка мне сейчас тема ухода за животными. Я м…
  5. Jul 26, 2026Привет! Как вы могли заметить, я более не помогаю вести данный канал. Если вам понравилось…
  6. Jun 10, 2026Немного про продуктивность без AI. Старый добрый помодоро таймер, но ужесточенный трекинго…
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 →