fa
Feedback
Mobile Compose

Mobile Compose

رفتن به کانال در Telegram

Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform. Android XR: @android_xr Личный блог: @grigorievdy_blog Автор: @grigorievdy Поддержать канал: https://t.me/mobile_compose?boost

نمایش بیشتر
2 993
مشترکین
+324 ساعت
+57 روز
+1830 روز

در حال بارگیری داده...

جذب مشترکین
ژوئن '26
ژوئن '26
+6
در 0 کانال‌ها
مه '26
+44
در 1 کانال‌ها
Get PRO
آوریل '26
+33
در 0 کانال‌ها
Get PRO
مارس '26
+14
در 0 کانال‌ها
Get PRO
فوریه '26
+18
در 0 کانال‌ها
Get PRO
ژانویه '26
+125
در 0 کانال‌ها
Get PRO
دسامبر '25
+24
در 0 کانال‌ها
Get PRO
نوامبر '25
+52
در 1 کانال‌ها
Get PRO
اکتبر '25
+38
در 0 کانال‌ها
Get PRO
سپتامبر '25
+33
در 0 کانال‌ها
Get PRO
اوت '25
+21
در 0 کانال‌ها
Get PRO
ژوئیه '25
+41
در 0 کانال‌ها
Get PRO
ژوئن '25
+47
در 1 کانال‌ها
Get PRO
مه '25
+90
در 1 کانال‌ها
Get PRO
آوریل '25
+42
در 0 کانال‌ها
Get PRO
مارس '25
+51
در 0 کانال‌ها
Get PRO
فوریه '25
+34
در 0 کانال‌ها
Get PRO
ژانویه '25
+55
در 0 کانال‌ها
Get PRO
دسامبر '24
+129
در 2 کانال‌ها
Get PRO
نوامبر '24
+72
در 0 کانال‌ها
Get PRO
اکتبر '24
+75
در 0 کانال‌ها
Get PRO
سپتامبر '24
+64
در 0 کانال‌ها
Get PRO
اوت '24
+124
در 2 کانال‌ها
Get PRO
ژوئیه '24
+84
در 1 کانال‌ها
Get PRO
ژوئن '24
+56
در 0 کانال‌ها
Get PRO
مه '24
+71
در 1 کانال‌ها
Get PRO
آوریل '24
+69
در 2 کانال‌ها
Get PRO
مارس '24
+66
در 1 کانال‌ها
Get PRO
فوریه '24
+95
در 3 کانال‌ها
Get PRO
ژانویه '24
+124
در 0 کانال‌ها
Get PRO
دسامبر '23
+110
در 1 کانال‌ها
Get PRO
نوامبر '23
+89
در 1 کانال‌ها
Get PRO
اکتبر '23
+87
در 3 کانال‌ها
Get PRO
سپتامبر '23
+54
در 0 کانال‌ها
Get PRO
اوت '23
+78
در 0 کانال‌ها
Get PRO
ژوئیه '23
+69
در 0 کانال‌ها
Get PRO
ژوئن '23
+120
در 0 کانال‌ها
Get PRO
مه '23
+521
در 0 کانال‌ها
Get PRO
آوریل '23
+72
در 0 کانال‌ها
Get PRO
مارس '23
+25
در 0 کانال‌ها
Get PRO
فوریه '23
+24
در 0 کانال‌ها
Get PRO
ژانویه '23
+15
در 0 کانال‌ها
Get PRO
دسامبر '22
+25
در 0 کانال‌ها
Get PRO
نوامبر '22
+63
در 0 کانال‌ها
Get PRO
اکتبر '22
+225
در 0 کانال‌ها
Get PRO
سپتامبر '22
+28
در 0 کانال‌ها
Get PRO
اوت '22
+29
در 0 کانال‌ها
Get PRO
ژوئیه '22
+55
در 0 کانال‌ها
Get PRO
ژوئن '22
+11
در 0 کانال‌ها
Get PRO
مه '22
+58
در 0 کانال‌ها
Get PRO
آوریل '22
+12
در 0 کانال‌ها
Get PRO
مارس '22
+2
در 0 کانال‌ها
Get PRO
فوریه '22
+11
در 0 کانال‌ها
Get PRO
ژانویه '22
+11
در 0 کانال‌ها
Get PRO
دسامبر '21
+7
در 0 کانال‌ها
Get PRO
نوامبر '21
+12
در 0 کانال‌ها
Get PRO
اکتبر '21
+4
در 0 کانال‌ها
Get PRO
سپتامبر '21
+14
در 0 کانال‌ها
Get PRO
اوت '21
+9
در 0 کانال‌ها
Get PRO
ژوئیه '21
+5
در 0 کانال‌ها
Get PRO
ژوئن '21
+25
در 0 کانال‌ها
Get PRO
مه '21
+16
در 0 کانال‌ها
Get PRO
آوریل '21
+23
در 0 کانال‌ها
Get PRO
مارس '21
+26
در 0 کانال‌ها
Get PRO
فوریه '21
+149
در 0 کانال‌ها
Get PRO
ژانویه '21
+403
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
04 ژوئن+3
03 ژوئن+1
02 ژوئن+1
01 ژوئن+1
پست‌های کانال
#Release #Compose #Changelog 😇 Релиз Compose библиотек (19.05.2026) 🔵 Animation 1.11.2/1.12.0-alpha03 🔵 Foundation 1.11.2/
#Release #Compose #Changelog 😇 Релиз Compose библиотек (19.05.2026) 🔵 Animation 1.11.2/1.12.0-alpha03 🔵 Foundation 1.11.2/1.12.0-alpha03 🔵 Material 1.11.2/1.12.0-alpha03 🔵 Runtime 1.11.2/1.12.0-alpha03 🔵 UI 1.11.2/1.12.0-alpha03 Remote 1.0.0-alpha11 Material 3 1.5.0-alpha20 Material3 Adaptive 1.3.0-beta02 Navigation3 1.1.2/1.2.0-alpha03 Wear Compose 1.6.2/1.7.0-alpha03 Wear Compose Remote 1.0.0-alpha04 XR Compose 1.0.0-alpha14 XR Material3 Compose 1.0.0-alpha17 🎨 Список всех изменений 🎨 Mobile Compose 💬 Чат канала

2
🎨 Король умер — да здравствует король! Google официально объявила о переходе к стратегии "Compose-first", а Android View при
🎨 Король умер — да здравствует король! Google официально объявила о переходе к стратегии "Compose-first", а Android View при этом переводится в режим поддержки без дальнейшего активного развития. Помимо Views, изменения коснулись и некоторых Jetpack-библиотек — их развитие также переводится в maintenance mode. 😇 Подробнее об изменениях 🎨 Mobile Compose 💬 Чат канала ♾
1 797
3
#Article #Medium #Internals #Performance #Compose 🎨 Mission Impossible: How to Achieve 0 Recompositions in a Complex Custom
#Article #Medium #Internals #Performance #Compose 🎨 Mission Impossible: How to Achieve 0 Recompositions in a Complex Custom UI Статья разбирает способ достижения "нулевой" рекомпозиции в сложных кастомных компонентах. Обычных аннотаций Stable и Immutable для таких экстремальных задач часто оказывается недостаточно. Решение кроется в отложенном чтении состояния через лямбды и переносе логики напрямую в фазы Layout или Draw. Это полностью исключает лишние циклы композиции, гарантируя идеальную плавность даже в нагруженном UI. Спасибо подписчику канала @ShamilRtc за статью 👍 📖 Читать статью 🎨 Mobile Compose 💬 Чат канала ♾
2 277
4
🎉 Результаты розыгрыша: 🏆 Победители: 1. Mikhail (@zykloned) 2. Олег (@manwoodt) ✔️Проверить результаты
2 309
5
😀 🔠🔠🔠🔠➖🔠🔠🔠🔠 ☝
2 277
6
#Compose #Performance #UI 🎨 Compose 1.11.0 — MediaQuery API Представлен новый экспериментальный MediaQuery API. Это попытка стандартизировать адаптивную верстку без нагромождения проверок WindowSizeClass. Ключевые фичи: ▫️Отслеживание не только размера окна, но и типа клавиатуры, точности указателя (перо vs палец) и положения складных устройств. ▫️derivedMediaQuery: Специальный механизм для оптимизации обновлений при высокой частоте изменения сигналов. До MediaQuery API: @Composable fun isTabletopPosture( context: Context = LocalContext.current ): Boolean { val windowLayoutInfo by WindowInfoTracker .getOrCreate(context) .windowLayoutInfo(context) .collectAsStateWithLifecycle(null) return windowLayoutInfo.displayFeatures.any { displayFeature -> displayFeature is FoldingFeature && displayFeature.state == FoldingFeature.State.HALF_OPENED && displayFeature.orientation == FoldingFeature.Orientation.HORIZONTAL } } @Composable fun VideoPlayer() { if(isTabletopPosture()) { TabletopLayout() } else { FlatLayout() } } С MediaQuery API: @OptIn(ExperimentalMediaQueryApi::class) @Composable fun VideoPlayer() { if (mediaQuery { windowPosture == UiMediaScope.Posture.Tabletop }) { TabletopLayout() } else { FlatLayout() } } 🎨 Mobile Compose 💬 Чат канала ♾
2 290
7
#Compose #Performance #Recomposition 🎨 Compose 1.11.0 — Новая реализация SlotTable В Runtime Compose завезли новую экспериментальную реализацию SlotTable на базе LinkBuffer. Новая реализация теперь эффективнее обрабатывает точечные правки в дереве компонентов (random edits). Как итог — более шустрый динамический UI и меньший расход ресурсов памяти Как потестить? На данный момент новая реализация выключена по умолчанию. Если вы готовы к экспериментам и хотите проверить профит на своем проекте, её можно активировать вручную через специальный флаг: ComposeRuntimeFlags.isLinkBufferComposerEnabled = true 🎨 Mobile Compose 💬 Чат канала ♾
1 472
8
📣 Розыгрыш 2 билетов на Mobius 🎨 😀 До старта весеннего Mobius 2026 осталось совсем немного, а значит пришло время по тради
📣 Розыгрыш 2 билетов на Mobius 🎨 😀 До старта весеннего Mobius 2026 осталось совсем немного, а значит пришло время по традиции разыграть 2 билета на конференцию. Условия просты — необходимо быть подписанным на @mobile_compose и @grigorievdy_blog Результаты подведем 8 мая в 10:00 (GMT+3)
2 115
9
#Compose #UI #Tooling 🎨 Compose 1.11.0 — Preview wrappers Compose 1.11.0 делает шаг навстречу ментальному здоровью разработчиков и добавляет PreviewWrappers. В чем суть: раньше для каждого превью приходилось вручную писать обертку вроде AppTheme { ... }. Теперь можно создать один универсальный класс-обертку. Как это работает: ▫️Реализуете интерфейс PreviewWrapper, где в методе Wrap описываете нужный контекст (тему, CompositionLocals и т.д.). ▫️Вешаете аннотацию @PreviewWrapperProvider на функцию превью. class ThemeWrapper: PreviewWrapper { @Composable override fun Wrap(content: @Composable (() -> Unit)) { JetsnackTheme { content() } } } @PreviewWrapperProvider(ThemeWrapper::class) @Preview @Composable private fun ButtonPreview() { Button(onClick = {}) { Text(text = "Demo") } } Плюсы: ▫️Чистый код: Превью-функции содержат только код самого компонента. ▫️Масштабируемость: Отлично работает с MultiPreview. Можно один раз настроить обертку для темной/светлой темы или разных локалей. ▫️Единообразие: Весь дизайн-код превью теперь живет в одном месте, а не размазан по проекту. Важно — чтобы это заработало, помимо версии Compose, необходимо обновить и Android Studio до актуальной версии. 🎨 Mobile Compose 💬 Чат канала ♾
1 890
10
Пример использования: LookaheadAnimationVisualDebugging( overlayColor = Color(0x4AE91E63), isEnabled = true, multipleMatchesColor = Color.Green, isShowKeylabelEnabled = false, unmatchedElementColor = Color.Red, ) { SharedTransitionLayout { CompositionLocalProvider( LocalSharedTransitionScope provides this, ) { // your content } } }
1 499
11
#Compose #UI #Animation #Debugging 🎨 Compose 1.11.0 — Визуальная отладка анимаций Shared Elements анимации и работа с Modifi
#Compose #UI #Animation #Debugging 🎨 Compose 1.11.0 — Визуальная отладка анимаций Shared Elements анимации и работа с Modifier.animatedBounds стали прозрачнее благодаря инструменту LookaheadAnimationVisualDebugging. Ключевые возможности: ▫️Прямо в Runtime можно увидеть траектории движения объектов и их целевые границы (target bounds). ▫️Визуализация помогает понять, почему элемент «прыгает» или обрезается при переходе между экранами. Инструмент полезен в первую очередь для сложных UI-переходов, где раньше приходилось полагаться только на логи и интуицию. 🎨 Mobile Compose 💬 Чат канала ♾
1 415
12
#Release #Compose #Changelog 😇 Релиз Compose библиотек (22.04.2026) 🔵 Animation 1.11.0/1.12.0-alpha01 🔵 Foundation 1.11.0/
#Release #Compose #Changelog 😇 Релиз Compose библиотек (22.04.2026) 🔵 Animation 1.11.0/1.12.0-alpha01 🔵 Foundation 1.11.0/1.12.0-alpha01 🔵 Material 1.11.0/1.12.0-alpha01 🔵 Runtime 1.11.0/1.12.0-alpha01 🔵 UI 1.11.0/1.12.0-alpha01 ▫Remote 1.0.0-alpha09 ▫Material 3 1.5.0-alpha18 ▫Navigation3 1.1.1/1.2.0-alpha02 🎨 Список всех изменений 🎨 Mobile Compose 💬 Чат канала ♾
1 281
13
#Release #Compose #Changelog 😇 Релиз Compose библиотек (08.04.2026) 🔵 Animation 1.11.0-rc01 🔵 Foundation 1.11.0-rc01 🔵 Ma
#Release #Compose #Changelog 😇 Релиз Compose библиотек (08.04.2026) 🔵 Animation 1.11.0-rc01 🔵 Foundation 1.11.0-rc01 🔵 Material 1.11.0-rc01 🔵 Runtime 1.11.0-rc01 🔵 UI 1.11.0-rc01 ▫Remote 1.0.0-alpha08 ▫Material 3 1.5.0-alpha17 ▫Material3 Adaptive 1.3.0-alpha10 ▫Wear Compose 1.6.1/1.7.0-alpha01 ▫Navigation3 1.1.0/1.2.0-alpha01 🎨 Список всех изменений 🎨 Mobile Compose 💬 Чат канала ♾
0
14
#Release #Compose #Changelog 😇 Релиз Compose библиотек (25.03.2026) 🔵 Animation 1.10.6/1.11.0-beta02 🔵 Foundation 1.10.6/1
#Release #Compose #Changelog 😇 Релиз Compose библиотек (25.03.2026) 🔵 Animation 1.10.6/1.11.0-beta02 🔵 Foundation 1.10.6/1.11.0-beta02 🔵 Material 1.10.6/1.11.0-beta02 🔵 Runtime 1.10.6/1.11.0-beta02 🔵 UI 1.10.6/1.11.0-beta02 ▫️Remote 1.0.0-alpha07 ▫Material 3 1.5.0-alpha16 ▫️Wear Compose 1.6.0 ▫Navigation3 1.1.0-rc01 ▫XR Compose 1.0.0-alpha12 ▫XR Material3 Compose 1.0.0-alpha16 🎨 Список всех изменений 🎨 Mobile Compose 💬 Чат канала ♾
0
15
Maxимальные замедления Судя по последним новостям, в ближайшее время Telegram в РФ может начать работать ещё хуже — либо пере
Maxимальные замедления Судя по последним новостям, в ближайшее время Telegram в РФ может начать работать ещё хуже — либо перестать работать вовсе. Однако мы все взрослые и понимаем, что на любое действие рано или поздно находится противодействие. Поэтому как оно появится — возвращайтесь, буду ждать вас тут с новой пачкой новостей о Compose.😉 Канал никуда переезжать не будет. © Григорьев Дмитрий #Offtop
0
16
#Article #UI #Animation 😇 Two-dimensional scrolling: scrollable2D, draggable2D В документации Android появились подробности
#Article #UI #Animation 😇 Two-dimensional scrolling: scrollable2D, draggable2D В документации Android появились подробности про 2D-скроллинг в Jetpack Compose. Если раньше для перемещения контента по обеим осям приходилось комбинировать verticalScroll и horizontalScroll (что не всегда работало гладко), то теперь есть нативные модификаторы scrollable2D и draggable2D. Если коротко: ▫️Modifier.scrollable2D: Идеален для контейнеров с контентом, который больше экрана (карты, таблицы, фото). Главная фишка — поддержка fling (инерции) и нативного вложенного скроллинга. То есть, если вы доскроллили до края карты, скролл может бесшовно передаться родителю. ▫️Modifier.draggable2D: Более легковесный вариант для перемещения конкретных UI-элементов. В отличие от первого, здесь нет инерции — элемент останавливается ровно там, где вы оторвали палец. Подойдет для кастомных drag-n-drop анимаций. Важный нюанс: в отличие от высокоуровневых LazyColumn, эти модификаторы не двигают контент за вас «из коробки». Они лишь отдают дельту смещения, которую нужно вручную применять через graphicsLayer или offset. 😇 Читать статью 🎨 Mobile Compose 💬 Чат канала ♾
0
17
#Release #Compose #Changelog 😇 Релиз Compose библиотек (11.03.2026) 🔵 Animation 1.10.5/1.11.0-beta01 🔵 Foundation 1.10.5/1
#Release #Compose #Changelog 😇 Релиз Compose библиотек (11.03.2026) 🔵 Animation 1.10.5/1.11.0-beta01 🔵 Foundation 1.10.5/1.11.0-beta01 🔵 Material 1.10.5/1.11.0-beta01 🔵 Runtime 1.10.5/1.11.0-beta01 🔵 UI 1.10.5/1.11.0-beta01 ▫️Remote 1.0.0-alpha06 ▫️Wear Compose 1.6.0-rc01 ▫Navigation3 1.1.0-beta01 🎨 Список всех изменений 🎨 Mobile Compose 💬 Чат канала ♾
0
18
بدون متن...
0