This media is not supported in your browser
VIEW IN TELEGRAM
Kotlin Playground позволяет писать код с Compose Multiplatform и сразу его проверить (используется Compose Web)
#compose #composemp #web
#compose #composemp #web
🤯77🔥41
Интересная статья с экспериментов как происходит рекомпозиция в зависимости от параметров. влияние лямбд и strong skipping режима работы компилятора.
По итогу автор выводит ряд рекомендаций (зайдите поставьте лайк на Хабре за статью):
#compose #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤9👏2🤯1
Пример реализации виджета тултипа, который должен уметь:
👉 Показываться под якорным элементом в виде облачка
👉 Скрываться согласно нашей кастомной логике
👉 Добавляться в существующие экраны с минимальными затратами
👉 Не блокировать взаимодействие с остальным UI
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍51
Очень подробный разбор в статье (EN) Материал обязателен тем кто пишет свой UI Kit или много собственных компонентов на Compose
#compose #производительность
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28
Почему важно применить? Да потому что в Compose MP по умолчанию используется эффект в лоб от Material, да еще и не в лучшей реализации.
Подробнее про реализацию можно почитать в статье (7м)
#compose #пример
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤2
Новая возможность появилась в Compose 1.9.0-alpha04. В release notes рассказывают про "новый кастомизируемый фреймвор теней" 🤯
@Composable
fun DropShadowSample() {
Box(Modifier.size(100.dp, 100.dp)
.dropShadow(RectangleShape, DropShadow(12.dp)))
}
@Composable
fun InnerShadowSample() {
Box(Modifier.size(100.dp, 100.dp)
.innerShadow(RectangleShape, InnerShadow(12.dp)))
}
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥72👍8🤯5
Самый просто способ обновиться - использовать свейжи BOM файл
// Добавляем в зависимости перед добавлением Compose зависимостей
// и лучше версию зависимостей не указывать вовсе, чтобы они всегда из BOM брались
implementation("androidx.compose:compose-bom-alpha:2025.06.00")
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14
@Composable
fun AddComponentsToTextContextMenu() {
val textFieldState = rememberTextFieldState()
BasicTextField(
state = textFieldState,
modifier =
Modifier.addTextContextMenuComponents {
separator()
item(key = ClearKeyDataObject, label = "Clear") {
textFieldState.clearText()
close()
}
separator()
}
)
}
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥29👏8👍5❤1
#compose
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30
Forwarded from Kotlin Multiplatform Broadcast
Розыгрыш книги "Коtlin в действии" 2-е издание с автографом одного из авторов - Романа Елизарова 🤯 Совместно с Yandex For Mobile делаем для вас розыгрыш 2 книг по Kotlin от создателей языка и его экосистемы!
Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile
Итоги подведем 12 июня в @kotlin_broadcast
#розыгрыш
Условия розыгрыша просты
1. Подписать на @kotlin_broadcast
2. Подписаться на @yandexformobile
Итоги подведем 12 июня в @kotlin_broadcast
#розыгрыш
👍18🔥5
Forwarded from Android Broadcast
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
🔥20👍10
class TextPreviewParameterProvider : PreviewParameterProvider<String> {
override val values = sequenceOf("Hello, Compose!", "Hello, World!")
}
/**
* Получится превью со всеми возможными
* значениями параметра из провайдера
*/
@Preview
@Composable
fun SamplePreview(
@PreviewParameter(TextPreviewParameterProvider::class) text: String
) {
Text(text)
}
#compose #kmp
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥24👍4❤1
Please open Telegram to view this post
VIEW IN TELEGRAM
👍111🔥48
Самый простой способ попробовать новую версию - использовать BOM в Gradle
dependencies {
implementation(platform("androidx.compose:compose-bom-beta:2025.06.01")
}
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤1
Самый простой способ попробовать новую версию - использовать BOM в Gradle
dependencies {
implementation(platform("androidx.compose:compose-bom:2025.06.01")
}
#compose #android
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8❤3