Compose Broadcast
5.39K subscribers
305 photos
79 videos
493 links
Все о Jetpack Compose и Compose Multiplatform

YouTubе канал: https://youtube.com/androidBroadcast
Android - @android_broadcast
iOS - @ios_broadcast
Kotlin - @kotlin_broadcast
Download Telegram
Подборка(10м) основных рекомендаций как писать на Compose, чтобы все юыло красиво и удобно в использовании.

#compose
👍18
Розыгрыш книги "Коtlin в действии" 2-е издание с автографом одного из авторов - Романа Елизарова 🤯 Совместно с Yandex For Mobile делаем для вас розыгрыш 2 книг по Kotlin от создателей языка и его экосистемы!

Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile

Итоги подведем 12 июня в @kotlin_broadcast

#розыгрыш
👍18🔥5
Forwarded from Android Broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍9
⚙️ Вышел Compose Multiplatform 1.8.2 с исправлением багов и поддержкой указания данных для параметров в превью режиме из common кода (нужна поддержка в IDE)

class TextPreviewParameterProvider : PreviewParameterProvider<String> {
override val values = sequenceOf("Hello, Compose!", "Hello, World!")
}

/**
* Получится превью со всеми возможными
* значениями параметра из провайдера
*/
@Preview
@Composable
fun SamplePreview(
@PreviewParameter(TextPreviewParameterProvider::class) text: String
) {
Text(text)
}


#compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍41
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ Пример реализации Modifer.privacySensitive() для Compose Multiplatform. Эффект - сокрытие UI при уходе с экрана

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍109🔥48
⚙️ Первая Beta Jetpack Compose 1.9.0 уже вышла

Самый простой способ попробовать новую версию - использовать BOM в Gradle
dependencies {
implementation(platform("androidx.compose:compose-bom-beta:2025.06.01")
}


#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍121
⚙️ Compose 1.8.3 с исправлением багов в UI артефакте

Самый простой способ попробовать новую версию - использовать BOM в Gradle
dependencies {
implementation(platform("androidx.compose:compose-bom:2025.06.01")
}


#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍83
Forwarded from Kotlin Adept Notes (Alex Panov)
Как подружить LifecycleOwner и Decompose

Некоторые API в Jetpack библиотеках принимают в качестве параметра LifecycleOwner, например, так сделано в CameraX. Однако если в вашем проекте используется Decompose, и вы используете LocalLifecycleOwner для получения текущего значения в Composable функции, то жизненный цикл будет работать некорректно: он будет соответствовать жизненному циклу Activity или Fragment, так как Decompose нигде не переопределяет этот CompositionLocal и использует собственный жизненный цикл из библиотеки Essenty.

Чтобы исправить эту проблему, необходимо сконвертировать LifecycleOwner из Decompose в его аналог из Jetpack. Однако из коробки пока что такого адаптера нет, и придётся написать его самостоятельно, по аналогии с конвертацией ЖЦ в Essenty.

В версии Decompose 3.4.0 эта проблема будет решаться проще: появится JetpackComponentContext, как отдельная зависимость, и можно будет сразу получить нужный lifecycle прямо из компонента.

Поэтому будьте внимательны при использовании CompositionLocal для работы с жизненным циклом, если навигация в проекте построена на Decompose.

#Decompose #Lifecycle
🤯12👍5🤔32
⚙️ Вышла вторая Beta Jetpack Compose 1.9.0

В новой сборке исправили баги, а также добавили поддержку smart элементов в контекстных меню

Самый простой способ попробовать новую версию - использовать BOM в Gradle
dependencies {
implementation(platform("androidx.compose:compose-bom-beta:2025.06.02")
}


#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
10👍5
🐱 KMPify - десктоп приложение для Mac, которое позволит Jetpack Compose код адаптировать для Compose Desktop, а именно:
👉 Заменяет ресурсы
👉 Заменяет импорты
👉 Заменяет специфичные для Android Compose элементы

Попробовал инструмент. Не очень очевидный, да и кажется как плагин для IDE он полезнее бы был, чем отдельным приложением

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25
⚙️ Подробная инструкция(11м) по реализации эффекта блюра в Compose на основе GraphicsLayer и RenderNode.

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
39👍4
This media is not supported in your browser
VIEW IN TELEGRAM
LazyTimetable - open source Jetpack Compose библиотека для реализация lazy расписания мероприятия или в школе/универе. Работает только на Android

#compose #android #opensource
👍17🤔132🔥2
Пример использования LazyTimetable
@Composable
fun LazyTimetable(
modifier: Modifier = Modifier,
listState: LazyTimetableState = rememberLazyTimetableState(),
horizontalSpacing: Dp = 0.dp,
contentPadding: PaddingValues = PaddingValues(),
columnWidth: Dp,
heightPerMinute: Dp,
columnHeaderHeight: Dp,
columnHeaderColor: Color,
timeColumnWidth: Dp,
timeColumnColor: Color,
baseEpochSec: Long,
timeLabel: @Composable (Long) -> Unit,
content: LazyTimetableScope.() -> Unit
)


#compose
6👍1🔥1
Media is too big
VIEW IN TELEGRAM
Пример реализации каскадного меню в Jetpack Compose

#compose
🤔44🤯11👍2
🤖 Ваш подход к разработке устарел?

Приглашаем на открытый урок «Стиль разработки 2020-х и среда окружения современного бэкенд-приложения».

🗓 Когда: 30 июля в 19:00 МСК

Урок пройдет в рамках старта курса «Kotlin Backend Developer. Professional».


📚 На открытом уроке вы узнаете, как поменялся стиль разработки в 2020-х и какие компоненты уже не нужно писать самому. Поговорим о том, как в современном бэкенде выполнять только ключевую бизнес-логику.

🔥 Вы получите готовые инфраструктурные файлы, которые упростят создание приложений на Kotlin и любых других языках.

🔗 Ссылка на регистрацию

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Lorem Gibson - сайт для генерации стабового текста
🤔16
This media is not supported in your browser
VIEW IN TELEGRAM
⚙️ FloatingTabBar - библиотека с плавающим Tab Bar в стиле Liquid Glass из iOS 26

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥32🤔91👍1
// Пример использования FloatingTabBar
val scrollConnection = rememberFloatingTabBarScrollConnection()
var selectedTabKey by remember { mutableStateOf("home") }

Box(modifier = Modifier.fillMaxSize()) {
LazyColumn(
modifier = Modifier
.fillMaxSize()
.nestedScroll(scrollConnection)
) {
ScrollableContent()
}

FloatingTabBar(
selectedTabKey = selectedTabKey,
scrollConnection = scrollConnection,
modifier = Modifier
.align(Alignment.BottomCenter)
.padding(horizontal = 16.dp)
) {
tab(
key = "home",
title = { Text("Home") },
icon = { Icon(Icons.Default.Home, contentDescription = null) },
onClick = { selectedTabKey = "home" }
)

tab(
key = "profile",
title = { Text("Profile") },
icon = { Icon(Icons.Default.Person, contentDescription = null) },
onClick = { selectedTabKey = "profile" }
)

standaloneTab(
key = "search",
icon = { Icon(Icons.Default.Search, contentDescription = null) },
onClick = { selectedTabKey = "search" }
)
}
}
4
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
📹 Разбор Jetpack Navigation 3 - настоящая навигация для Compose (21 мин)

Месяц назад Google анонсировала навигацию специально разработанную под Compose и которая должна решить все боли. В видео показываю её возможности, делюсь своим мнение и рассказываю про недочеты, которые надеюсь что решат до стабильного релиза

#AndroidBroadcast #navigation #jetpack #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍201🤔1