TGViewer
Compose Broadcast Compose Broadcast @compose_broadcast · 5.9K subscribers
Post #964 4.53K
⚙️ Новый выбор текста Compose 1.12 — SelectionContainer и SelectionState API

В Compose 1.12 у SelectionContainer появился hoisted-state: SelectionState. Раньше весь механизм выделения был спрятан внутри текстовых полей. Теперь же стало возможно:
👉 читать выбранный текст реактивно
👉 выделять программно: всё / диапазон / по словам
👉 сбрасывать выделение
👉 искать цитату по всему контейнеру, даже если она размазана по нескольким Text

// Один SelectionState нельзя шарить между несколькими SelectionContainer
val state = rememberSelectionState()

SelectionContainer(state = state) {
Text("Text to be selected...")
}

val selectedTexts : List<AnnotatedString> = state.selectedTexts
Text("Выбрано символов: ${selectedTexts.sumOf { it.text.length }}")


#Compose
More from @compose_broadcast
  1. Sep 17, 2026В Compose 1.13 появится полноценный Blur для контента через Modifier #Compose
  2. Sep 14, 2026⚙️ Вышел Compose HotSwan 2.0.0 - Hot Reload для Android, iOS и Desktop. В новой версии про…
  3. Sep 14, 2026⚙️ Compose Web можно выложить как офлайн-приложение В Issue CMP-10781 в официальном баг-тр…
  4. Sep 9, 2026🚀 Вышла новая альфа-версия адаптации CMP для ОС Аврора (v0.0.5) Прошёл квартал — а значит…
  5. Sep 7, 2026🐱 compose-recomposition-highlighter - отслеживание статистики рекомпозиций в Android След…
  6. Sep 7, 2026⚙️ Анимация смены чисел на Compose. Как сделали тут #Compose #Анимация
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →