Полезная статья (EN,12м) с демонстрацией что умеют TextField в Compose и как это реализовать. Примеры с градиентами, маской ввода номера карты, обработка действий пользователя, использование username и многое другое
#compose
#compose
❤28👍14🔥1
Что лучше брать для представления состояния в Compose: MutableState или MutableStateFlow из корутин? Размышления и сравнение читайте в статье (EN, 8м)
#compose #coroutines
#compose #coroutines
👍6
👍14❤1
❤17👍8
This media is not supported in your browser
VIEW IN TELEGRAM
Valkyrie - плагин для Idea/Android Studio от подписчика канала для конвертации SVG и Android XML Vector Drawable в Compose ImageVector. Поддерживает Compose Multiplatform
Давайте поддержим звездой на GitHub
#compose #idea #androidstudio
Давайте поддержим звездой на GitHub
#compose #idea #androidstudio
👍61🔥5
Forwarded from Kotlin Adept Notes (Alex Panov)
Нашли серьезную уязвимость в Jetpack Navigation Compose, которая позволяет открыть любой экран в приложении, даже если там нет явных диплинков ⚠️
Эксплуатируется она максимально просто, достаточно знать имя пакета и название маршрута в графе навигации:
Как защититься
1. Разумеется лучший вариант не использовать данную навигацию, можете посмотреть мой пост со сравнением библиотек навигации для Compose и выбрать подходящую
2. Если в приложении не используются диплинки, можно частично решить проблему перетерев data в определенном intent:
#Security #Compose
@kotlin_adept
Эксплуатируется она максимально просто, достаточно знать имя пакета и название маршрута в графе навигации:
Intent().apply {
setClassName("your.package", "your.package.MainActivity")
data = Uri.parse("android-app://androidx.navigation/YOUR_DESTINATION")
startActivity(this)
}
Как защититься
1. Разумеется лучший вариант не использовать данную навигацию, можете посмотреть мой пост со сравнением библиотек навигации для Compose и выбрать подходящую
2. Если в приложении не используются диплинки, можно частично решить проблему перетерев data в определенном intent:
val intentData = intent.dataString
if (intentData != null && intentData.startsWith("android-app://androidx.navigation")) {
intent.setData(null)
}
#Security #Compose
@kotlin_adept
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30💯4
Media is too big
VIEW IN TELEGRAM
0:00 Introduction
0:39 Basic layout animations
1:11 How do layout animations work
3:18 Lookahead
4:58 Use cases for Lookahead
5:56 Shared elements
6:39 SharedTransitionLayout
8:08 Modifier.sharedElement
9:02 Custom animation specs
9:40 Modifier.sharedBounds
11:43 ResizeMode
12:52 Overlay
15:37 Modifier.skipToLookaheadSize
16:29 Clipping
18:53 Modifier ordering
19:54 Predictive Back
20:53 Shared elements under the hood
21:09 Composition Phase
22:14 Layout Phase
26:27 Drawing Phase
26:49 Overlay under the hood
28:02 Challenges with overlay
29:42 Summary
#compose #анимация
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥23👍6👏2
Альтернативная библиотека для организации пагинации списков в Compose UI на мультиплатформе
#compose #пагинация #kmp #android #ios #desktop #js #wasm
#compose #пагинация #kmp #android #ios #desktop #js #wasm
🔥16
Так как Compose Compiler стал частью Kotlin, то встречайте версию 2.0.20
👩💻 Исправили баг с лишними рекомпозициями, который появился в версии 2.0.0
👩💻 Strong skipping режим теперь включен по умолчанию. Что это такое читайте тут
👩💻 Теперь включать выключать разные фичи Compose Compiler можно будет через Gradle DSL с помощью нормального API, а не текстовых флагов
👩💻 абстрактные Composable функции теперь поддерживают значения параметров по умолчанию
👩💻 Экспериментальная оптимизация "Non-skipping group" - отключает генерацию группы вокруг тела Composable
#kotlin #compose
#kotlin #compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍29
Forwarded from Android Broadcast
Media is too big
VIEW IN TELEGRAM
Видео про то как вставить Fragment в Compose с применением библиотеки fragment-compose (уже стабильная версия 1.8)
Почитать про использование Fragment в Compose можно в документации
#compose #fragment #android #jetpack
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25
Интеграция авторизации по биометрии (лицо, отпечаток пальца и т.д.) в Compose Multiplatform под мобилку
#android #ios #compose
#android #ios #compose
❤29🔥7👍2