Connect with us

Новости

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-приложений.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: