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

Метод stop

Метод stop класса Animatable завершает работу активного animateTo и оставляет value там, где анимация остановилась на этом кадре. Это обычная функция, не suspend, её можно вызвать из onClick. После stop можно снова вызвать animateTo из LaunchedEffect.

Синтаксис

animatable.stop()

Пример

Давайте прервать длинный animateTo:

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.Button 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(200f, tween(2000)) } Button(onClick = { x.stop() }) { Text( text = "12345", modifier = Modifier.offset { IntOffset(x.value.roundToInt(), 0) }, ) } } } }

На экране текст движется вправо, нажатие кнопки freeze положение через stop.

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

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