Решения бага компиляции при подключении библиотеки Jetpack Emoji 2 с версий Compose 1.5, когда не хотите поднимать compileSdk до 34+
🔥6
В Jetpack Compose 1.5.5. появилась возможность в виде конфигурационого файла передать Compose Compiler типы, которые считать Stable для оптимизации работы Compose UI. В статье (6 мин, EN, ссылка без VPN) разбирается эта фича и ее влияние, а также как получить отчеты
#performance
#performance
🔥11
This media is not supported in your browser
VIEW IN TELEGRAM
Глассморфизм, или, как его еще называют, эффект стекла становится все популярнее в дизайне современных приложений.
В статье (EN, 6 мин) вы узнаете как реализовать BottomNavigation в таком стиле с помощью библиотеки Haze от Chris Banes и докрутить туда еще несколько классных эффектов
#animation @compose_broadcast
В статье (EN, 6 мин) вы узнаете как реализовать BottomNavigation в таком стиле с помощью библиотеки Haze от Chris Banes и докрутить туда еще несколько классных эффектов
#animation @compose_broadcast
👍44🔥14❤3
Вышел Compose Compiler 1.5.7 и с исправлениями багов в работе + улучшения в работе кэша за счёт отказа от использования абсолютных путей
#compiler
#compiler
🔥29👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Фанаты Flutter довольно часто упрекают Compose за отсутствие возможности анимировать общий элемент при переходе с одного экрана на другой.
И действительно, во Flutter такая штука делается очень легко, с помощью всего лишь одного виджета Hero, а в Compose такой возможности еще нет из коробки, но есть в планах и официальном роадмапе.
Однако мы можем воспользоваться сторонней библиотекой Orbital, чтобы реализовать тот самый Shared Element Transition. Выглядит это довольно не плохо и при этом поддерживаются все доступные для Compose Multiplatform таргеты.
#animation @compose_broadcast
И действительно, во Flutter такая штука делается очень легко, с помощью всего лишь одного виджета Hero, а в Compose такой возможности еще нет из коробки, но есть в планах и официальном роадмапе.
Однако мы можем воспользоваться сторонней библиотекой Orbital, чтобы реализовать тот самый Shared Element Transition. Выглядит это довольно не плохо и при этом поддерживаются все доступные для Compose Multiplatform таргеты.
#animation @compose_broadcast
🔥38👍10❤4👌1
Внимательные читатели заметили, что либа для реализации Shared Element Transition не делает никакой магии, а использует вполне себе стандартный compose api, а именно:
😀 MovableContentOf - для изменения положения элементов без рекомпозиции с сохранением состояния функции
😀 LookaheadLayout - для предварительного вычисления нового размера и положения дочерних узлов, чтобы в дальнейшем можно было анимировать эти изменения от начального до конечного состояния
Подробнее про устройство LookaheadLayout читайте в статье (EN, 10 мин), там вы узнаете:
😀 Где этот layout используется
😀 В чем отличие от SubcomposeLayout и Intrinsics measurements
😀 Какие методы предоставляет
😀 Как работает под капотом
P.S. LookaheadLayout уже deprecated, на замену ему пришел LookaheadScope
#under_the_hood @compose_broadcast
Подробнее про устройство LookaheadLayout читайте в статье (EN, 10 мин), там вы узнаете:
P.S. LookaheadLayout уже deprecated, на замену ему пришел LookaheadScope
#under_the_hood @compose_broadcast
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍9❤1👏1
Rebugger - библиотека для отслеживания причин рекомпозиции и вывод их в Logcat
#tooling #android @compose_broadcast
#tooling #android @compose_broadcast
❤35👍12🔥8
Продолжения разбора обработки жестов в Jetpack Compose. В новой части (EN, 7 мин, ссылка без VPN) рассматривается мультитач
@compose_broadcast
@compose_broadcast
👍14
Forwarded from Android Broadcast (Кирилл Broadcast)
Прошел еще один год. В нем были и новые вызовы и появление возможностей. Желаю вам добиться новых высот в 2024🔔 , добраться до своих целей и превзойти их.
Самое важное - оставайтесь человеком, уважайте других и берегите друзей и тех кто заботиться о вас! Всего самого наилучшего в будущем году🎉
Автор и создатель @android_broadcast - Кирилл Розов
Самое важное - оставайтесь человеком, уважайте других и берегите друзей и тех кто заботиться о вас! Всего самого наилучшего в будущем году
Автор и создатель @android_broadcast - Кирилл Розов
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29🎉19
ComposeRecyclerView - библиотека для использования RecyclerView в Jetpack Compose через удобное DSL
#android
#android
👍23🔥5👌3❤1
This media is not supported in your browser
VIEW IN TELEGRAM
На сайте Android Developers в документации по Compose API появилось отображение поддерживаемой платформы для каждого API
@compose_broadcast
@compose_broadcast
🔥23👍3
Forwarded from Android Broadcast (Кирилл Розов)
Всем кто хочет Lottie в мультиплатформе Kotlin - обратите внимание на Kottie - библиотека для Compose Multiplatform с поддержкой Android, iOS, Desktop и Web
🔥34
👏26🔥4
В новой версии androidx.lifecycle появился LifecycleEventEffect для Compose, который позволяет отслеживать события жизненного цикла. До этого приходилось самостоятельно создавать LifecycleEventObserver и использовать DisposableEffect, чтобы корректно удалить наблюдателя.
Помимо общего эффекта, также появились более специфичные эффекты LifecycleStartEffect и LifecycleResumeEffect для отслеживания событий onStart и onResume соответственно.
⚠️ Обратите внимание, что отследить событие onDestroy не получится, потому что Compose не будет рекомпозироваться после события onStop!
Помимо общего эффекта, также появились более специфичные эффекты LifecycleStartEffect и LifecycleResumeEffect для отслеживания событий onStart и onResume соответственно.
⚠️ Обратите внимание, что отследить событие onDestroy не получится, потому что Compose не будет рекомпозироваться после события onStop!
🔥85👍7
Forwarded from Мобильная разработка
Google удалила базовый курс по Kotlin, вместо него доступен только курс по Compose
Компания удалила со своего сайта курс Android Basics with Kotlin и оставила только Android Basics with Compose: https://developer.android.com/courses/android-basics-compose/course
Google как бы намекает, что если вы изучаете разработку на Android или начинаете новое приложение, то вы должны выбирать Compose. Это не значит, что прямо сейчас что-то перестанет работать. Но Google явно делают упор именно на Compose в будущем.
Естественно, не все тепло восприняли такие действия. На Reddit, например, идет активное обсуждение. Там есть как обоснованные за, так и против. Интересно почитать: https://reddit.com/r/androiddev/comments/194r5xm/google_just_removed_their_android_basics_with/
#android #google
Компания удалила со своего сайта курс Android Basics with Kotlin и оставила только Android Basics with Compose: https://developer.android.com/courses/android-basics-compose/course
Google как бы намекает, что если вы изучаете разработку на Android или начинаете новое приложение, то вы должны выбирать Compose. Это не значит, что прямо сейчас что-то перестанет работать. Но Google явно делают упор именно на Compose в будущем.
Естественно, не все тепло восприняли такие действия. На Reddit, например, идет активное обсуждение. Там есть как обоснованные за, так и против. Интересно почитать: https://reddit.com/r/androiddev/comments/194r5xm/google_just_removed_their_android_basics_with/
#android #google
👍28
This media is not supported in your browser
VIEW IN TELEGRAM
Compose Action Menu - мультиплатформенная библиотека для реализации меню в Compose MP
#android #ios #jvm @compose_broadcast
#android #ios #jvm @compose_broadcast
🔥12👍3
Если вам надо рисовать UI под системными панелями, когда используете Compose - статья (6 мин, EN, ссылка без VPN) в помощь и исходники на GitHub
#android @compose_broadcast
#android @compose_broadcast
🔥14
CompositionLocal - это способ передачи данных которые могут использоваться во всех вложенных Composable функций. Самый просто пример - это MaterialTheme.
В статье (6 мин, EN, ссылка без VPN) вы можете получше разобраться в вопросе (ну уровне применения) либо читайте официальную документацию
#compose @compose_broadcast
В статье (6 мин, EN, ссылка без VPN) вы можете получше разобраться в вопросе (ну уровне применения) либо читайте официальную документацию
#compose @compose_broadcast
🔥21👍3
Forwarded from Mobile Developer (Алексей Гладков)
Compose Multiplatform 1.6.0 beta released
https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.6.0-beta01
👉 Экспериментальная поддержка compose resources
🔥 Поддержка установленных шрифтов для десктопа и веба
👉 Wasm таргет в мавен централ
👉 Экспериментальная поддержка нативных попапов/диалогов за пределами основного окна
👉 Kotlin 1.9.22
Бегом тестить 😁
https://github.com/JetBrains/compose-multiplatform/releases/tag/v1.6.0-beta01
👉 Экспериментальная поддержка compose resources
🔥 Поддержка установленных шрифтов для десктопа и веба
👉 Wasm таргет в мавен централ
👉 Экспериментальная поддержка нативных попапов/диалогов за пределами основного окна
👉 Kotlin 1.9.22
Бегом тестить 😁
GitHub
Release 1.6.0-beta01 · JetBrains/compose-multiplatform
Highlights
Resource library improvements (demo project)
Compile-time checking of resources through a generated Res class
Introduce top level composeResources dir with drawable, font, files, value...
Resource library improvements (demo project)
Compile-time checking of resources through a generated Res class
Introduce top level composeResources dir with drawable, font, files, value...
🔥24👍1