This media is not supported in your browser
VIEW IN TELEGRAM
Как была сделана реализация написали в статье, а исходники есть на GitHub
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥85❤9
Обновляйте зависимости или сразу всё через BOM файл:
```kotlin
dependencies {
implementation(platform("androidx.compose:compose-bom:2025.09.01"))
}
```
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16
Media is too big
VIEW IN TELEGRAM
Что нового:
👉 Зависимость material-icons-core теперь не добавляется транзитивно и нужно явно её добавлять
👉 Для описания хореографии и анимации Material 3 компоненты теперь используют MotionScheme API
👉 Компонент HorizontalCenteredHeroCarousel - горизонтальная карусель с паралаксом (спека тут)
👉 Компонент VerticalDragHandle - перетягиваемый разделитель экрана для контента на большом экране
👉 SecureTextField - поле ввода для паролей с защитой вводимых данных
👉 Поддержка автоматического размера текста в Text полях
👉 Добавили Material 3 декораторы для BasicTextField2
👉 Добавлено API TimePickerDialog
👉 Обновили API SearchBar
🛠 Исправление багов
🚀 Повышение производительности
#compose #material3
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36❤5👍5
Автор статьи решил сделать визуализацию графа навигации между Composable функциями. Для этого был написан плагин Kotlin компилятора, который анализирует Kotlin код, генерирует диаграмму в формате Mermaid, которые после можно открыть с помощью плагина для IDEA. Результат на картинке к посту. Конечно, результат для Jetpack Navigation в Android Studio выглядит лучше, но уже неплохо.
🔗 Альтернативная ссылка
#compose #ksp #навигация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32👍11
В Compose 1.9 прокачали API для определения видимости Composable на экране. Например, это может быть полезно в скролящихся списках.
LazyColumn {
items(feedData) { video ->
VideoRow(
video,
Modifier.onVisibilityChanged(
// задержка вызова callback
minDurationMs = 500,
// какая часть компонента должна
// быть в области видимости
minFractionVisible = 1f,
// Зона для определения видимости компонента
// По умолчанию - окно приложения
viewportBounds: LayoutBoundsHolder? = null,
) { visible ->
// Вызовется когда компонент
// частично покажется или полностью скроется
if (visible) video.play() else video.pause()
},
)
}
}
🔗 Подробная документация и примеры тут
🔗 Альтернативная ссылка на статью
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍56🔥11❤10
#compose #подкапотом
Please open Telegram to view this post
VIEW IN TELEGRAM
❤23🔥4👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Полный исходный код тут
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥54❤2
This media is not supported in your browser
VIEW IN TELEGRAM
Решение использует dev сборки Jetpack Navigation 3 для Compose Multiplatform
#compose #jetpack #navigation3 #cmp #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44👍9❤3
Что нового:
👉 Основано на Jetpack Compose 1.9.3
👉 Артефакт compose.material3 теперь основывается на Jetpack Compose Material3 1.4.0, чтобы использовать предыдушую версию, то надо подключать зависимость традиционным образом
// было
implementation(compose.material3)
// заменить для совместимости
implementation("org.jetbrains.compose.material3:material3:1.8.2")
👉 Исправление багов на iOS
#compose #cmp #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥3
JetCo - репозиторий с открытым кодом реализации разных компонентов на Compose Multiplatform. Поддерживаются все Compose таргеты
#compose #пример #opensource
#compose #пример #opensource
👍31🔥19👏2
Forwarded from Kotlin Multiplatform Broadcast
Розыгрыш книг "Kotlin Multiplatform на практике" от Анны Жарковой @prettygeeknotes с автографом автора 🔥 Книга позволяет погрузиться в KMP с нуля и расскажет как мигрировать уже существующие проекты!
Для участия в розыгрыше надо подписаться на каналы🔨 @compose_broadcast и 🏝 @kotlin_broadcast и нажать "Участвую!"
#розыгрыш
Для участия в розыгрыше надо подписаться на каналы
#розыгрыш
Please open Telegram to view this post
VIEW IN TELEGRAM
👏6🤔2