BOM файл -
androidx.compose:compose-bom-beta:2025.02.00
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👌2❤1
This media is not supported in your browser
VIEW IN TELEGRAM
🔗 Ссылка без VPN
#compose #анимация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥22👍6👌2
Вышла третья альфа Compose 1.8.0 и там появилось много интересного:
👉 Вся кодовая база переехала на Kotlin K2 компилятор
👉 Появился мультиплатформенный BackHandler и PredicitiveBackHandler (ну наконец-то)
👉 Обновление на Skia m132
👉 ClipboardManager заменят на новый интерфейс Clipboard
👉 Поддержка VoiceControl на iOS
👉 Compose теперь корректно работает с UIScrollView
#compose #k2 #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥36👍7❤2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👍3
Когда речь заходит о создании UI на Jetpack Compose с поддержкой смартфонов, планшетов и десктопов, важно не привязываться к физическим размерам экрана.
❌ Чего я избегаю?
Я не использую именование Composable-экранов через *Screen, например:
// !!! не делайте так для экрана фичи
@Composable
fun HomeScreen() { /* UI */ }
Такой подход жестко связывает UI с понятием "экрана устройства", а это не всегда корректно, особенно в мире foldable-устройств и десктопов. UI каждой фичи должен уметь работать на всём пространстве что ему выделит контейнер, где будет показ UI фичи.
✅ Что я использую вместо этого?
Я применяю концепцию Pane – это независимые контейнеры UI, которые адаптируются под выделенное для них место и не должны понимать ничего о размерах экрана, ориентации, расположении. Контейнер, где встраивается UI, сам определит всё и настроит UI через Modifier.
@Composable
fun HomePane(modifier: Modifier = Modifier) {
Column(modifier = modifier.fillMaxSize()) {
Text("Welcome to Home")
// Остальной UI
}
}
Такой подход позволяет:
📌 Как применять Pane в адаптивном UI?
Простейший пример, где на планшетах и десктопе мы показываем две панели, а на телефонах – только одну:
// Рутовая Composable функция приложения, которая понимает про текущее состояние приложения
// на экране и в зависимости от этого располагает контент
@Composable
fun RootScreen(windowSizeClass: WindowSizeClass) {
if (windowSizeClass.widthSizeClass == WindowWidthSizeClass.Expanded) {
// Большой экран
Row(Modifier.fillMaxSize()) {
HomePane(Modifier.weight(1f))
DetailsPane(Modifier.weight(1f))
}
} else {
// Маленький или средний
HomePane()
}
}
Пост - это мой взгляд и рекомендация. В архитектуре и рекомендациях нет абсолютного правильного или неправильного подхода. Выбирать как делать - остаётся на вашей стороне.
#compose #android #adaptive #material #советы
Please open Telegram to view this post
VIEW IN TELEGRAM
👍76🔥6❤1
Пример(EN,6м) реализации онбординга (рассказ про новые элементы приложения) пользователю на Compose Multiplatform. Решается задача определения положения Compose элемента на экране, затемнение фона и показ подсказки, где есть свободное место на экране
🔗 Ссылка без VPN
#compose #kmp #andorid #ios #desktop
🔗 Ссылка без VPN
#compose #kmp #andorid #ios #desktop
❤21👍7
Вышла третья Beta Compose 1.8.0, а вот Bom для него не появился ((( Исправили баги в UI и Foundation
#compose
#compose
👍12
Mesh - опенсорс утилита для создания и редактирования mesh-градиентов. Написана полностью на Compose Desktop с использованием UI Kit Jewel от JetBrains.
#compose #desktop
#compose #desktop
❤33🔥14👍8
Как протестировать Compose Hot Reload для Desktop
Если вы хотите протестировать Compose Desktop Hot Reload, то следуйлет инструкции в официальном репозитории JetBrains. Используется специальная JDK, которая может автоматически скачаться через Gradle
#compose #desktop
Если вы хотите протестировать Compose Desktop Hot Reload, то следуйлет инструкции в официальном репозитории JetBrains. Используется специальная JDK, которая может автоматически скачаться через Gradle
#compose #desktop
👍10
Compose Text Editor - текстовый редактор со множеством возможностей на Compose Multiplatform: Android, JVM Desktop, WasmJS
#compose #android #desktop #wasm
#compose #android #desktop #wasm
👍23
Coil и Yandex MapKit KMP: рисуем аватарки на карте. Часть 3 (6м)
Как с помощью библиотеки от сообщества Yandex MapKit KMP Compose для Android и iOS, показывают аватары пользователей с сервера.
#kmp #compose #android #ios #карты
Как с помощью библиотеки от сообщества Yandex MapKit KMP Compose для Android и iOS, показывают аватары пользователей с сервера.
#kmp #compose #android #ios #карты
👍19
Forwarded from Android Broadcast
Рассказ о плагине для Android Studio, который упрощает работу с кастомными дизайн-системами на Jetpack Compose.
Возможности:
👉 Настраиваемые иконки для компонентных функций
👉 Иконки дизайн-системы
👉 Предпросмотр цветов
👉 Интеграция демо-приложения
👉 Рендеринг изображений в KDoc
👉 Шаблоны кода (Live Templates)
#android #androidstudio #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Рассматриваются разные решения:
👉 callback интерфейсы для навигации
👉 модуль для навигации (его и рассматривают не примере кода)
🔗 Ссылка без VPN
#compose #навигация #anroid
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30❤6👏1
compose-material-data-table - реализация Material 2 Data Table на Jetpack Compose Multiplatform для Android, JVM, WASM/JS
#compose #kmp @android #jvm #wasm
#compose #kmp @android #jvm #wasm
🔥22
This media is not supported in your browser
VIEW IN TELEGRAM
Paper позволяет проектировать UI в веб-среде и затем экспортировать всё в код.
Что делает Paper интересным?
👉 Готовые UI-компоненты: кнопки, карточки, переключатели, диалоги и многое другое.
👉 Визуальный редактор: меняйте цвета, размеры, тени и другие параметры прямо в браузере, а затем копируйте готовый код в проект.
👉 Поддержка Material 3 с возможностью кастомизации под любой стиль.
👉 Открытый код, который можно модифицировать под свои задачи.
Paper предоставляет бесплатный 30-дневный пробный период без ограничений, после чего стоимость составляет 100$ в год. Если не хотите платить, можно продолжать пользоваться, но экспорт кода будет ограничен.
💬 Кто уже тестировал? Насколько удобен редактор? Делитесь впечатлениями!
#compose #kmp #android
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥56👍8👌3
Только небольшие исправления по сравнению с предыдущей Beta, можно пробовать
Доступен BOM файл
implementation("androidx.compose:compose-bom-beta:2025.03.00")
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4