Telegram Web
#UI #Modifier #Compose

🎨 С приходом Compose 1.9 была добавлена ещё одна долгожданная фича, о которой давно просили: возможность надёжно отслеживать, виден ли элемент на экране и получать уведомления о смене видимости.

Встречаем два новых модификатора:
Modifier.onFirstVisible()

и
Modifier.onVisibilityChanged()


Пример использования (автоматическое воспроизведение/пауза видео):
@Composable
fun VideoFeed(feedData: List<Video>) {
LazyColumn {
items(feedData) { video ->
VideoRow(
video,
Modifier.onVisibilityChanged { visible ->
if (visible) video.play() else video.pause()
},
)
}
}
}


🤖 Больше примеров с новыми модификаторами

🎨 Mobile Compose 💬 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46👍92❤‍🔥1
Forwarded from Grigoriev Blog
Если вы iOS-разработчик, но всегда хотели прикоснуться к богоподобному Android — эта новость для вас:

🤖 Команда разработки Swift объявила о создании рабочей группы по Android, основная цель которой — добавить официальную поддержку Android для разработки на языке Swift.

Пока это всё выглядит как "наш ответ Чемберлену" на KMP + Compose. Что из этого выйдет — поглядим.

#android #ios #news
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣39😁115👍2🔥2❤‍🔥1
#Release #Compose #Changelog

😇 Релиз Compose библиотек (от 02.07.2025)

🔵 Animation 1.9.0-beta02
🔵 Foundation 1.9.0-beta02
🔵 Material 1.9.0-beta02
🔵 Runtime 1.9.0-beta02
🔵 UI 1.9.0-beta02

▫️Material 3 1.4.0-alpha17
▫️Material3 Adaptive 1.2.0-alpha08
▫️Navigation3 1.0.0-alpha05
▫️NavigationEvent 1.0.0-alpha04
▫️Lifecycle ViewModel Navigation3 1.0.0-alpha03
▫️Wear Compose 1.5.0-beta05

🎨 Список всех изменений

🎨 Mobile Compose 💬 Чат канала
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤‍🔥221
Forwarded from Kotlin Adept Notes (Alex Panov)
Как встроить SwiftUI в Compose Multiplatform

Обычно я стараюсь избегать использования кастомных CompositionLocal в Compose, так как это добавляет неявные зависимости, и если не предоставить значение, приложение упадёт в рантайме. Я придерживаюсь подхода, в котором CompositionLocal можно использовать только тогда, когда значение действительно может быть полезно любой Composable-функции в дереве. Яркий пример — тема приложения.

И при работе с Compose Multiplatform я подсмотрел классное применение этого механизма для встраивания SwiftUI вьюшек в Composable функции.

1. В сорсете iosMain создаём CompositionLocal и интерфейс NativeViewFactory.
2. На стороне Swift реализуем этот интерфейс и передаём его в функцию создания UIViewController.
3. В этой функции пробрасываем фабрику через CompositionLocalProvider.
4. Далее в любом месте поддерева в iosMain можно получить доступ к этой нативной вьюшке.

🌐 Посмотреть пример приложения для сканирования QR-кодов с этим подходом можно в репозитории, который я подготовил для лекции в онлайн-университете.

#Compose #SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍105❤‍🔥2👎1
#Video #Foundation #Compose

😇 Embedded Layout Inspector | Jetpack Compose Tips

В Android Studio появился Embedded Layout Inspector — новый способ дебага UI на Jetpack Compose прямо в среде разработки. Быстро, наглядно и без лишних окон.

В этом видео рассказывается:
▫️ как открыть инспектор
▫️ как пользоваться деревом компонентов и панелью атрибутов
▫️ и зачем нужен Deep Inspect

📺 Смотреть видео

🎨 Mobile Compose 💬 Чат канала
♾️
Please open Telegram to view this post
VIEW IN TELEGRAM
5👍3❤‍🔥1🔥1
2025/07/12 00:36:57
Back to Top
HTML Embed Code: