Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
451 of 502 menu
◀ ▶

Метод animateTo

Метод animateTo класса Animatable это suspend функция, которая ведёт value к targetValue по animationSpec, например tween. Пока анимация идёт, value обновляется каждый кадр и перекомпозиция подхватывает offset или другой параметр. Вызывают из LaunchedEffect.

Синтаксис

animatable.animateTo(targetValue, animationSpec)

Параметры

Параметр Описание
targetValue Значение, на котором анимация должна остановиться.
animationSpec Спецификация хода, часто tween или spring.

Пример

Давайте анимируем смещение текста к 80 px:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.animation.core.Animatable import androidx.compose.animation.core.tween import androidx.compose.foundation.layout.offset import androidx.compose.material3.Text import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.unit.IntOffset import kotlin.math.roundToInt class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val x = remember { Animatable(0f) } LaunchedEffect(Unit) { x.animateTo(80f, tween(500)) } Text( text = "12345", modifier = Modifier.offset { IntOffset(x.value.roundToInt(), 0) }, ) } } }

На экране строка "12345" плавно смещается вправо после старта LaunchedEffect.

Смотрите также

  • метод snapTo,
    который ставит value без анимации
  • метод stop,
    который прерывает animateTo
  • функция LaunchedEffect,
    из которой вызывают animateTo
  • функция spring,
    как animationSpec для animateTo
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить