Warning: Undefined array key 0 in /var/www/tgoop/function.php on line 65

Warning: Trying to access array offset on value of type null in /var/www/tgoop/function.php on line 65
690 - Telegram Web
Telegram Web
UPD Расширилась поддержка HTML в AnnotatedString. Теперь поддерживаются буллеты

Text(
AnnotatedString.fromHtml(
"""
<h1>HTML content</h1>
<ul>
<li>Hello,</li>
<li>World</li>
</ul>
""".trimIndent()
)
)

#compose
Если вам нужно отслеживать положении Composable на экране, то вместо onGloballyPositioned теперь в Compose 1.8 появился новый modifier - onLayoutRectChanged. Он покрывает множество сценариев использования onGloballyPositioned, но делает это с меньшей нагрузкой

Box(
modifier = Modifier
.size(100.dp)
.background(Color.Red)
.onLayoutRectChanged { rect ->
println("Position: ${rect.left},${rect.top} Size: ${rect.width}x${rect.height}")
}
)


#compose
This media is not supported in your browser
VIEW IN TELEGRAM
В Compose 1.8 появилась возможность анимировать границы Composable с помощью modifier animateBounds

#compose #анимация
Box(
Modifier
.width(if(expanded) 180.dp else 110.dp)
.offset(x = if (expanded) 0.dp else 100.dp)
.animateBounds(lookaheadScope = this@LookaheadScope)
.background(Color.LightGray, shape = RoundedCornerShape(12.dp))
.height(50.dp)
) {
Text("Layout Content", Modifier.align(Alignment.Center))
}
⚙️ Вышел Compose Multiplatform 1.8.0 RC 1

После релиза Compose 1.8.0 сразу же выпустили свежий RC мультиплатформенной версии. Внесены улучшения в Compose Web для Safari, но также появились и критические изменения:
👉 Зависимость material/material3 больше не добавляет зависимость material-icons-core, её нужно будет добавлять явно.
👉 Больше не поддерживается LocalTextInputService.
👉 Требуется Kotlin Gradle Plugin 2.X.
👉 Старый плагин org.jetbrains.compose.compiler больше не поддерживается.

#compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
CMP Container Size - KMP библиотека для получения размера текущего окна в DP. Пригодится тем кому не подходят стандартные классы размеров окон из Jetpack WindowManager

@Composable
fun App() {
val containerSize = currentWindowContainerSize()

if (containerSize.width >= 600.dp) {
TabletLayout()
} else {
PhoneLayout()
}
}


#compose
⚙️ В каком порядке выполняется Composable и DisposableEffect и LaunchedEffect (EN,5м)

При показе одной Composable функции
1. Фаза композции
2. Регистрация Side Effect во время композиции
3. Запуск Side Effect-ов
4. DisposableEffect синхронный и запускается сразу после композиции
5. LaunchedEffect запускается после синхронных Side Effect-ов

В статье также рассматривается что происходит при навигации между Composable

🔗 Альтернативная ссылка

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Вышел Compose Multiplatform 1.8.0

Что нового:
👉 Переход на K2
🏝 Поддерживается Kotlin 2.1.0 или выше
👉 Мультиплатформенные реализации BackHandler и PredictiveBackHandler
👉 Улучшения в тестах
👉 Поддержка вариативных шрифтов на всех платформах
👉 Clipboard API заменяет ClipboardManager для работы c буфером обмена на всех платформах
👉 Множество улучшений в Compose/iOS
👉 На Windows улучшили производительность и размер инсталятора
🤖 Поддержка Compose ресурсов в таргете androidLibrary

Множество других улучшений, которые надо разбирать отдельными постами.

#compose #k2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥⚙️ Compose iOS теперь Stable

Самый громкий и важный анонс в истории Compose Multiplatform с выходом версии 1.8.0

Что именно готово для продакшен применения
👉 Все основные фичи из Jetpack Compose работают на iOS
👉 Типобезопасная навигация с поддержкой deep link
👉 Гибкое управление ресурсами
👉 Поддержка iOS Accessibility API
👉 Ощущения от UI приложения как нативного (скрол, редактирование текста, drag-and-drop, адаптивный UI, навигация жестами и пр)
👉 Производительность UI на Compose близка к SwiftUI, но пока немного уступает

Новая эра мобильной разработки уже тут!

#compose #ios
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Android Broadcast
🚀 Релиз Jetpack Navigation 2.9.0

🛠 Значительные переработки под капотом для улучшения поддержки KMP
👉 Добавлена поддержка обработки deep link из Kotlin Common кода
👉 Улучшения API

#jetpack #jetpackupdate #navigation #compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Вышел Jetpack Compose 1.8.1 с исправлениями ошибок

Обновляем BOM файл
implementation(platform("androidx.compose:compose-bom:2025.05.00"))


#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Вышел Jetpack Compose 1.9.0-alpha02

Обновляем BOM файл
implementation(platform("androidx.compose:compose-bom-alpha:2025.05.00"))


#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ Paging3 в стиле Compose: секретный DSL, о котором молчат все Android-разработчики (11м)

Автор статьи написал простое DSL для упрощения работы с пагинацией через JetPack Paging3, вместо решения в лоб от Google. Исходны код на 🐱 GitHub

@Composable
fun ArticlesPage(
articles: LazyPagingItems<Article>,
onAction: (NewsListAction) -> Unit,
) {
val newsListState = rememberLazyListState()

HandlePagingItems(articles) {
onRefresh { CircularProgressIndicator() }
onEmpty { // UI for empty list }
onError { error -> // UI for error }
onSuccess { items ->
LazyColumn(newsListState) {
onPagingItems(key = { it.id }) { article -> // UI for article }
onAppendItem { CircularProgressIndicator(Modifier.padding(6.dp)) }
onLastItem { // UI for end of the list }
}
}
}
}


#compose #dsl
Please open Telegram to view this post
VIEW IN TELEGRAM
This media is not supported in your browser
VIEW IN TELEGRAM
compose-table - Compose Multiplatform библиотека с поддержкой Android, iOS, JVM Desktop, WASM для показа таблиц

Можно попробовать онлайн версию

#compose #android #ios #jvm #desktop #wasm
В Compose 1.9.0 (пока в альфа) добавили новый Modifier - keepScreenOn(), который будет держать экран включенным, пока Composable функция будет частью композиции

Box(
modifier = Modifier.keepScreenOn()
){
...
}


#jetpack
This media is not supported in your browser
VIEW IN TELEGRAM
💠 Вышел Haze 1.6.0 - блюр в стиле glassmorphism для Compose Multiplatform

Что нового:
🤖 Размытие теперь работает на всех версиях Android
🎨 Поддержка размытия переднего плана (контента)
📐 Обработка размытых краёв

#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
2025/07/04 20:00:11
Back to Top
HTML Embed Code: