Mobile Compose – Telegram
Mobile Compose
2.91K subscribers
135 photos
3 videos
315 links
Твой главный путеводитель в мир Jetpack Compose и Compose Multiplatform.

Android XR: @android_xr
Личный блог: @grigorievdy_blog

Автор: @grigorievdy

Поддержать канал: https://news.1rj.ru/str/mobile_compose?boost
Download Telegram
#Article #Medium

Android Jetpack Compose: Theme Made Easy

С приходом Jetpack Compose у разработчиков появилась возможность более гибко работать с различными цветовыми схемами приложения. В сегодняшней статье автор разбирает как можно добавить в приложение поддержку таких решений, а также их динамическую смену на примере тестового приложения. Помимо этого, разбирается случай добавления собственного аттрибута темы при помощи CompositionLocal.
#Article #Medium #Animation

Jetpack Compose Animations I

Одни из наиболее значительных изменений, появившихся с приходом бета-версии, касаются нового API анимации, упрощающего процесс поддержки уже существующих, а также создания новых анимаций. Часть анимаций из нового API с примерами кода и демонстрацией результата показывает автор сегодняшней статьи.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta04

Некоторые из изменений, пришедших с новым бета обновлением:

▫️Методы showSoftwareKeyboard() и hideSoftwareKeyboard() интерфейса SoftwareKeyboardController переименованы в show() и hide() соответственно. (Подробнее)
▫️Добавлен новый тип TextOverflow для текстовых полей — Visible. (Подробнее)
▫️Теперь локальные composable функции (объявленные внутри других аналогичных) не будут игнорироваться при рекомпозиции внешней функции. (Подробнее)
▫️Исправлена проблема rememberSaveable() с восстановлением некорректного значения при работе с полями ввода. (Подробнее)
▫️Добавлено новое LiveRegion API для работы со специальными возможностями Android. (Подробнее)

Новое обновление коснулось и дополнения, связанного с навигацией — navigation-compose было обновлено до версии 1.0.0-alpha10.

Важно также помнить, что для перехода на beta04 необходимо поднять версию Kotlin compiler до 1.4.32.
#Article #Medium #Animation

Android Jetpack Compose: Animation Spec Made Easy

Грамотное использование интерполяции позволяет задать анимации более реалистичное поведение. При работе с Jetpack Compose наиболее распространенным способом интерполировать анимацию является использование интерфейса AnimationSpec. Что это и как это правильно использовать в своих проектах в сегодняшней статье.
#Article #Medium #Animation

Android Jetpack Compose: DecayAnimationSpec Made Easy

Продолжаем тему анимаций. На этот раз мы поговорим о Fling-анимациях, которые при работе с Jetpack Compose реализуются при помощи интерфейса DecayAnimationSpec. Подробнее об этом в сегодняшней статье.
#Article #Medium #Canvas

Exploring Jetpack Compose Canvas: the power of drawing

Работа с Canvas является одной из основополагающих в создании собственных UI-компонентов. В сегодняшней статье автор делится своим опытом работы с Canvas при помощи Jetpack Compose. Большая часть примеров кода приведена из проекта автора, созданного в рамках TheAndroidDevChallenge#2.
#Youtube #Video

Android Crew LiveCoding: Compose Advanced

Совсем недавно на очередной Podlodka Android Crew была организована livecoding сессия по Jetpack Compose, а вел ее сам разработчик фреймворка из Google (а по совместительству гость нашего канала 🙂) — Андрей Куликов. Целью доклада было сфокусироваться на более продвинутых вариантах использования приложений, а также показать как они реализуются при помощи Jetpack Compose. Рекомендую к просмотру!
#Article #Blog #Web #Compose

Technology Preview: Jetpack Compose for Web

Команда разработчиков JetBrains несколько дней назад представили технологическое превью Compose for Web — имплементацию известного нам UI-фреймворка для Web разработки. Больше подробностей о новой разработке можно прочитать в блоге компании.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta05 & 1.0.0-beta06

Некоторые из изменений, пришедших с последними двумя бета обновлениями:

▫️Добавлены новые CollectionInfo и CollectionItemInfo API для работы с semantics списков. (Подробнее)
▫️Добавлены дефолтные значения (0.dp) для PaddingValues. (Подробнее)
▫️Исправлен баг с некорректным размером Row/Column при использовании weight(fill = false) дочерним элементом. (Подробнее)
▫️Добавлены Font() функции для получения шрифтов из ресурсов, файлов и FileDenoscriptor. (Подробнее)
▫️Добавлен конструктор TextUnit(value: Float, type: TextUnitType). (Подробнее)

Последние обновления получились без кардинальных изменений и не затронули navigation-compose и paging-compose.
#Article #Medium

Compose CameraX on Android

Jetpack Compose + CameraX = ?
На данный момент официального способа интегрировать CameraX в приложение на компоузе нет. Автор статьи рассказывает как можно обойти это ограничение, предлагая для этого свое решение.
​​Друзья, у меня для вас маленькое объявление🔥.

Нас уже почти 600, и это наше общее большое достижение. За чуть больше полугода существования канал вырос до крупнейшего ресурса в Telegram, посвященного Jetpack Compose. Однако на этом мы останавливаться не будем. Отныне тематика канала будет посвящена использованию Compose не только в Android, но и в мобильной (а также кроссплатформенной) разработке в целом.

А для формирования правильной айдентики канала я решил, что теперь он будет называться "Mobile Compose", что наиболее точно будет отражать его контент.

Всем спасибо, двигаемся дальше!🙂
​​#Conference

SECON'2021

Уже совсем скоро, в конце июня пройдет XII Международная конференция разработчиков ПО SECON'2021, на которой будет куча интересных докладов про мобильную разработку, кроссплатформу, геймдев и многое другое (кстати, я там тоже выступлю с материалом 😉). Ну а для тех, кто захочет отдохнуть между докладами, на территории конференции будет доступно множество активностей (включая Afterparty в конце первого дня).

◽️ Где? — гостиничный комплекс «Арт-Пенза»
◽️ Когда? — 19 и 20 июня
◽️ Подробности? — На официальном сайте мероприятия
#Article #Medium

Wastewater tracking app with HMS ML Kit sound detection and Jetpack Compose

Разнообразие идей применения Jetpack Compose в различных задачах не перестает удивлять. На этот раз автор решил написать приложение для учёта расхода воды при помощи HMS ML Kit и Jetpack Compose. Как и что из этого вышло — в сегодняшней статье.
#compose #desktop #kotlin

Compose for Desktop: Milestone 4 Released

Compose для десктоп продолжает стремительно развиваться и вот уже вчера, ребята из JetBrains представили новое обновление фреймворка — Milestone 4. Новый релиз содержит множество функций, которые упростят разработку десктопных решений, в числе которых:

▫️Новое эксперементальное API для работы с Window, Dialog, MenuBar, и Tray
▫️Добавление поддержки Tooltip при помощи компонента BoxWithTooltip
▫️Улучшения функций работы с текстом и многое другое.

Больше информации в блоге компании.
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta07 & 1.0.0-beta08

Некоторые из изменений, пришедших с последними двумя бета обновлениями:

▫️AnimatedVisibility теперь можно определять при помощи MutableTransitionState, а также отслеживать изменения жизненного цикла анимации извне. (Подробнее)
▫️Теперь функции detectDragGestures(), detectVerticalGestures() и detectHozirontalGestures() самостоятельно отслеживают и используют изменения положения при жестах (без необходимости дополнительно вызывать .consumeAllChanges()). (Подробнее)
▫️Добавлен таймаут при касании clickable и toggleable элементов для предотвращения показа рипл-эффекта при скроллинге. (Подробнее)
▫️Modifier.focusModifier() теперь deprecated и заменен на Modifier.focusTarget(). (Подробнее)
▫️Card и Surface теперь принимают обязательный параметр onClick, куда стоит вынести всю логику из Modifier.clickable (использование которого теперь будет бесполезным). (Подробнее о Card и подробнее о Surface)
▫️Исправлена проблема beta07, при которой список элементов отображался частично после скролла. (Подробнее)

Новое обновление коснулось и различных дополнений, а именно:
▫️lifecycle-viewmodel-compose обновлен до версии 1.0.0-beta08
▫️paging-compose обновлен до версии 1.0.0-alpha10
▫️constraintlayout-compose обновлен до версии 1.0.0-beta07
#Article #Medium #UI

Creating a segmented progress bar in Jetpack Compose

Обработка и визуализация прогресса выполнения длительной операции является важным правилом при разработке приложения с точки зрения UI/UX. В Jetpack Compose для этих целей у нас есть два вида индикаторов прогресса — CircularProgress и LinearProgress. Автор сегодняшней статьи рассказывает о создании собственной реализации данного компонента - сегментированного прогресса (внешне похожего на тот, что есть в историях Instagram).
#Release #Beta #Changelog

Релиз Jetpack Compose 1.0.0-beta09

Некоторые из изменений, пришедших с последним бета обновлением:

▫️ManualFrameClock удален, вместо него использовать composeTestRule.mainClock. (Подробнее)
▫️В OutlinedTextField добавлен параметр Shape для кастомизации обводки поля. (Подробнее)
▫️Compose-тесты теперь можно запускать при помощи Robolectric. (Подробнее)
▫️Теперь при указании уникальных ключей для элементов списков LazyColumn / Row позиция прокрутки будет базироваться на основе ключа, т.е. добавление/удаление элементов перед текущим видимым элементом не будет влиять на скролл. (Подробнее)

Новое обновление коснулось и различных дополнений, а именно:
▫️lifecycle-viewmodel-compose обновлен до версии 1.0.0-alpha07
▫️hilt-navigation-compose обновлен до версии 1.0.0-alpha03
#Article #Medium

Supporting different screen sizes on Android with Jetpack Compose

Использование Dp вместо пикселей дает нам возможность строить UI приложения, не зависящий от плотности экрана смартфона. Однако даже это далеко не всегда позволяет приложению выглядеть одинаково на устройствах разного размера. О том, как решить данную проблему в приложении на Jetpack Compose, автор рассказывает в сегодняшней статье.
#Release #RC #Changelog

Релиз Jetpack Compose 1.0.0-rc01

Вышел первый Jetpack Compose RC!🔥
Некоторые из изменений, пришедших с последним обновлением:

▫️Canvas теперь поддерживает параметр contentDenoscription. (Подробнее)
▫️При значении параметра Modifier.clickable(enabled=false) клик на компонент не будет передаваться вверх по иерархии компонентов. То же самое касается toggleable и selectable. (Подробнее)
▫️Добавлен новый UI-компонент BadgeBox. (Подробнее)
▫️Добавлена эксперементальная поддержка HSV и HSL цветовых моделей. (Подробнее)
▫️Диалоговые окна теперь способны занимать всю ширину экрана. (Подробнее)

Новое обновление коснулось и различных дополнений, а именно:
▫️paging-compose обновлен до версии 1.0.0-alpha11
▫️Добавлена поддержка compose для Wear и дополнение compose-material для него версии 1.0.0-alpha01
#Article #Medium #Animation

Lottie Animations in Jetpack Compose Android

Статья с описанием того, как интегрировать Lottie анимации в приложениях на Jetpack Compose благодаря специальному дополнению lottie-compose.
#Medium #Article

Using Exoplayer in LazyColumn

Интересный пример работы ExoPlayer с Compose с реализацией возможности автоматического воспроизведения видео при прокрутке списка.