#UI #Modifier #Compose
🎨 С приходом Compose 1.9 была добавлена ещё одна долгожданная фича, о которой давно просили: возможность надёжно отслеживать, виден ли элемент на экране и получать уведомления о смене видимости.
Встречаем два новых модификатора:
и
Пример использования (автоматическое воспроизведение/пауза видео):
🤖 Больше примеров с новыми модификаторами
🎨 Mobile Compose 💬 Чат канала
♾
Встречаем два новых модификатора:
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()
},
)
}
}
}
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46👍9❤2❤🔥1
Forwarded from Grigoriev Blog
Если вы iOS-разработчик, но всегда хотели прикоснуться к богоподобному Android — эта новость для вас:
🤖 Команда разработки Swift объявила о создании рабочей группы по Android, основная цель которой — добавить официальную поддержку Android для разработки на языке Swift.
Пока это всё выглядит как "наш ответ Чемберлену" на KMP + Compose. Что из этого выйдет — поглядим.
#android #ios #news
Пока это всё выглядит как "наш ответ Чемберлену" на KMP + Compose. Что из этого выйдет — поглядим.
#android #ios #news
Please open Telegram to view this post
VIEW IN TELEGRAM
🤣39😁11❤5👍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❤🔥2❤2 1
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
Обычно я стараюсь избегать использования кастомных CompositionLocal в Compose, так как это добавляет неявные зависимости, и если не предоставить значение, приложение упадёт в рантайме. Я придерживаюсь подхода, в котором CompositionLocal можно использовать только тогда, когда значение действительно может быть полезно любой Composable-функции в дереве. Яркий пример — тема приложения.
И при работе с Compose Multiplatform я подсмотрел классное применение этого механизма для встраивания SwiftUI вьюшек в Composable функции.
1. В сорсете iosMain создаём CompositionLocal и интерфейс NativeViewFactory.
2. На стороне Swift реализуем этот интерфейс и передаём его в функцию создания UIViewController.
3. В этой функции пробрасываем фабрику через CompositionLocalProvider.
4. Далее в любом месте поддерева в iosMain можно получить доступ к этой нативной вьюшке.
#Compose #SwiftUI
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤5❤🔥2👎1
#Video #Foundation #Compose
😇 Embedded Layout Inspector | Jetpack Compose Tips
В Android Studio появился Embedded Layout Inspector — новый способ дебага UI на Jetpack Compose прямо в среде разработки. Быстро, наглядно и без лишних окон.
В этом видео рассказывается:
▫️ как открыть инспектор
▫️ как пользоваться деревом компонентов и панелью атрибутов
▫️ и зачем нужен Deep Inspect
📺 Смотреть видео
🎨 Mobile Compose 💬 Чат канала
♾️
В Android Studio появился Embedded Layout Inspector — новый способ дебага UI на Jetpack Compose прямо в среде разработки. Быстро, наглядно и без лишних окон.
В этом видео рассказывается:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤5👍3❤🔥1🔥1