Новости
Jetpack Compose 1.8 уже здесь — и он меняет правила игры
Обновление включает в себя множество улучшений, направленных на повышение стабильности, удобства разработки и расширение функциональности.
Jetpack Compose 1.8 представляет собой значительный шаг вперёд в развитии современного UI-инструментария для Android. Обновление включает в себя множество улучшений, направленных на повышение стабильности, удобства разработки и расширение функциональности.
- Одним из ключевых достижений является значительное сокращение количества экспериментальных API: с 170 в версии 1.7 до 70 в 1.8. Это свидетельствует о стремлении к стабилизации и зрелости фреймворка, что особенно важно для разработчиков, ориентированных на долгосрочную поддержку приложений.
- В области анимаций введён
LookAheadScope
, позволяющий автоматически анимировать изменения размеров и позиций компонентов без необходимости вручную прописывать анимации. Это упрощает создание плавных и отзывчивых интерфейсов.
Modifier .width(if (expanded) 180.dp else 110.dp) .offset(x = if (expanded) 0.dp else 100.dp) .animateBounds(lookaheadScope = this@LookaheadScope) .background(Color.LightGray, shape = RoundedCornerShape(12.dp)) .height(50.dp)
- Для отслеживания видимости компонентов теперь доступен модификатор
onLayoutRectChanged
, который предоставляет информацию о расположении элемента на экране, облегчая реализацию логики, зависящей от видимости.
Modifier.onLayoutRectChanged( throttleMillis = 0, debounceMillis = 64, callback = { bounds -> // Visibility logic here } )
- Поддержка HTML в Text-компонентах была расширена: теперь можно напрямую отображать такие теги, как
<ul>
и<li>
, без необходимости использования сторонних решений.
Text( AnnotatedString.fromHtml(""" <h1>HTML content</h1> <ul> <li>Hello,</li> <li>World</li> </ul> """.trimIndent()) )
- Улучшена работа с текстом благодаря внедрению атрибута
autoSize
, который позволяет автоматически подстраивать размер текста под доступное пространство, включая возможность пошагового изменения размера.
BasicText( text = "Hello World", maxLines = 1, autoSize = TextAutoSize.StepBased() )
- Функциональность автозаполнения была усовершенствована: достаточно указать тип содержимого через
semantics
, и система обеспечит соответствующее поведение, даже когда приложение находится в фоновом режиме.
TextField( state = rememberTextFieldState(), modifier = Modifier.semantics { contentType = ContentType.Username } )
Дополнительные изменения:
- Полноэкранные диалоги теперь рисуются под системными панелями.
- Списки теперь поддерживают эффект
OverscrollEffect
.
ContextFlowRow
иContextualFlowColumn
устарели — вместо них используйтеFlowRow
иFlowColumn
.
В целом, Jetpack Compose 1.8 предлагает разработчикам более стабильную, гибкую и мощную платформу для создания современных Android-приложений.
-
Кроссплатформенная разработка4 недели назад
Новый плагин KMP для IntelliJ IDEA и Android Studio
-
Аналитика промо-кампаний4 недели назад
Сравнение конверсий IAP и веб платежей в iOS-приложении
-
Новости4 недели назад
Видео и подкасты о мобильной разработке 2025.20
-
Дизайн и прототипирование3 недели назад
Stitch — новый ИИ-генератор дизайна от Google