Пример использования Jetpack Compose Nav3
#jetpack #compose #навигация
// Определите route в вашем приложении
@Serializable data object Home
@Serializable data class Product(val id: String)
// Создайте back stack, указав начальный route
val backStack = remember { mutableStateListOf<Any>(ProductList) }
// NavDisplay отображает ваш back stack
// Каждый раз, когда back stack меняется, отображение обновляется.
NavDisplay(
backStack = backStack, // Простой List<Any>
// Укажите, что должно происходить при нажатии кнопки "назад"
onBack = { backStack.removeLastOrNull() },
// Провайдер записей преобразует маршрут в NavEntry,
// который содержит контент для этого маршрута.
entryProvider = { route ->
when (route) {
is Home -> NavEntry(route) {
Column {
Text("Добро пожаловать в Nav3")
Button(onClick = {
// Чтобы перейти к другому экрану,
// просто добавьте его в back stack
backStack.add(Product("123"))
}) {
Text("Нажмите для навигации")
}
}
}
is Product -> NavEntry(route) { Text("Продукт ${route.id}") }
else -> NavEntry(Unit) { Text("Неизвестный route: $route") }
}
}
)
#jetpack #compose #навигация
👍36🤔19🔥13
Google показала как они снизили лаги UI на Jetpack Compose за 2 года. Тесте проводились на Pixel 3a
В Compose 1.9.0 появятся еще улучшения:
🚀 Приостановка композции
🚀 Фоновая подготовка текста для отображения
🚀 Улучшения предзагрузки в LazyLayout
#compose #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53🙏6👍2
Больше подробностей в статье и есть
#android #compose #material3expressive #пример
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍50
🤯 Более 60 процентов из топ 1000 Android приложений в 🛒 Google Play используют ⚙️ Jetpack Compose. Источник
❗️ ВАЖНО Используют, а НЕ полностью написали на нём UI
#andorid #compose #googleplay #googleio
#andorid #compose #googleplay #googleio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62🔥11🤔8
This media is not supported in your browser
VIEW IN TELEGRAM
Улучшили навигацию между Compose Preview и Composable функцией с которой связано превью
#compose #androidstudio
#compose #androidstudio
🔥62👍7
#androidstudio #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥37❤4👍3
This media is not supported in your browser
VIEW IN TELEGRAM
#androidstudio #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👍10❤6
Серия статей с разборами лучших практик для Jetpack Compose:
1️⃣ 5 Core Optimizations Every Developer Should Know (EN, 5м, альт. ссылка)
2️⃣ 5 Advanced Techniques for Ultra-Smooth Apps (EN, 8м, альт. ссылка)
3️⃣ The Expert’s Toolkit (EN, 8м, альт. ссылка)
4️⃣ Runtime Mastery & Fine-Tuning (EN, 8м, альт. ссылка)
#compose
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥44❤4🤔4
Media is too big
VIEW IN TELEGRAM
Google выпустили шикарное видео, где показали лучшие практики работы с текстовыми полями в Compose — с примерами, API и лайфхаками.
В ролике разработчики на примере рассказывают:
👉 как использовать state-based TextField — новый подход к управлению вводом;
👉 зачем нужен SecureTextField и как задать требования к паролю;
👉 как работает Autofill API (да, теперь можно сохранять логины и OTP);
👉 как кастомизировать поле ввода OTP с помощью BasicTextField и decorator;
👉 как принимать GIF и изображения через drag & drop с новым contentReceiver;
👉 как использовать input/output трансформации для автоподстановки скобок и тире в номерах;
#android #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤12
🎉🚀 Новая Jetpack Библиотека - Photo Picker
Новая библиотека Jetpack Photo Picker позволит перенести встраиваемый Photo Picker из Android 16 на более ранние версии Android. Благодаря Mainline системе встраиваемый Photo Picker будет доступен на Android 14 и выше как часть ОС, а вот на других версиях будет помогать библиотека Jetpack Photo Picker, работающая скорее всего на основе Google Play Services.
Важно - сразу сделали версию для View и Compose
#android #jetpack #android16 #compose
Новая библиотека Jetpack Photo Picker позволит перенести встраиваемый Photo Picker из Android 16 на более ранние версии Android. Благодаря Mainline системе встраиваемый Photo Picker будет доступен на Android 14 и выше как часть ОС, а вот на других версиях будет помогать библиотека Jetpack Photo Picker, работающая скорее всего на основе Google Play Services.
Важно - сразу сделали версию для View и Compose
#android #jetpack #android16 #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥47👍9❤3
// Создаем NavigationManager и передаем в него начальное состояние
val navigationManager = rememberNavigationManager(
NavigationState(
NavigationHost(
hostName = "Main",
initialDestination = FirstSampleDestination(),
)
)
)
@Parcelize
class FirstSampleDestination : ComposeDestination {
@IgnoredOnParcel
override val composable: @Composable (Destination) -> Unit = {
FirstSamplePane()
}
}
// инициализируем навигацию в Compose
Navigation(
navigationManager = navigationManager
) {
Pane(rememberNavigationHost("Main"))
}
// Пример перехода
navigationManager.execute(
ForwardCommand(SecondSampleDestination(text))
)
@Parcelize
data class SecondSampleDestination(val text: String) : ComposeDestination {
@IgnoredOnParcel
override val composable: @Composable (Destination) -> Unit = { destination ->
SecondSamplePane((destination as SecondSampleDestination).text)
}
}
Делитесь в комментариях как вам решение и я тоже пошел обсуждать
#compose #навигация #opensource
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔21🔥6❤2
#androidstudio #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55❤3🔥1
Media is too big
VIEW IN TELEGRAM
Демонстрация возможностей Preview для Compose в Android Stduio: базовые возможности, интерактивный режим, превью анимаций и UI Check Mode
#andoidstudio #androd #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥17❤4👍3
Media is too big
VIEW IN TELEGRAM
Рассказ про основные принципы новой навигации от Google для Compose - Jetpack Navigation 3
0:00 Вступление
1:05 Что есть Навигация
2:08 Архитектура
4:40 Требования
5:26 Почему это так сложно
7:01 Задачи Navigation 3
9:02 Владение Backstack-ом
10:04 Будущее
#android #jetpack #compose #навигация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥25🤯9❤4🤔1
Media is too big
VIEW IN TELEGRAM
Демонстрация возможностей встроенного в Android Studio инструмента Layout Inspector для дебага Compose UI
0:00 - Что за инструмент
1:31 - Как дебажить
5:26 - Итоги
#compose #androidstudio
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15
Forwarded from Compose Broadcast
This media is not supported in your browser
VIEW IN TELEGRAM
LazyTimetable - open source Jetpack Compose библиотека для реализация lazy расписания мероприятия или в школе/универе. Работает только на Android
#compose #android #opensource
#compose #android #opensource
🔥31👍3
This media is not supported in your browser
VIEW IN TELEGRAM
Google активно продвигает поддержку больших экранов и теперь тестировать UI на Compose в Android Studio будет проще. Изменять размер окна превью можно прямо в IDE и интерфейс будет подстраиваться под текущий размер.
Попробовать можно в свежей версии Android Studio Narhwall Feature Drop или новее. В Compose Preview надо переключить на режим "Focus"
#androidstudio #compose #ui
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55🔥28
Media is too big
VIEW IN TELEGRAM
Месяц назад Google анонсировала навигацию специально разработанную под Compose и которая должна решить все боли. В видео показываю её возможности, делюсь своим мнение и рассказываю про недочеты, которые надеюсь что решат до стабильного релиза
#AndroidBroadcast #navigation #jetpack #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51🔥10🤔4❤2
Стек: #kotlin, #material3, #compose, Ktor, Room
#android #пример
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28🤯17❤4🔥2🎉1🤝1
Компоненты
👉 DataSlider — компонент слайдера для удобного просмотра данных.
👉 PascalTriangle — Кастомизируемый треугольник Паскаля.
👉 NumberSystemConverter — Конвертер систем счисления с визуализацией битов.
🎮 Игры
👉 Сапёр — реализация классической игры с настраиваемой сложностью и таймером
👉 Змейка — реализация классической игры "Змейка"
👉 Шахматы — реализация игры "Шахматы" человек vs человек с классическими правилами FIDE
👉 Колесо фортуны — реализация игры "Колесо фортуны". Крутите барабан!
#android #compose #пример
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔24👍11🔥7❤4