Использование animateFloatAsState не работает с продолжительностью.Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Использование animateFloatAsState не работает с продолжительностью.

Сообщение Anonymous »

Я пытаюсь создать анимацию, чтобы насыщенность анимировалась в течение 1000 мс. Однако в приведенном ниже коде это происходит мгновенно.
Это фрагмент кода

Код: Выделить всё

val saturation by animateFloatAsState(
targetValue = if (isSelected) 1f else 0f,
animationSpec = tween(durationMillis = 1_000)
)

var rememberSaturation = remember(saturation) {
ColorMatrix().apply {
this.setToSaturation(if (isSelected) 1f else 0f)
}
}
Я использую это следующим образом:

Код: Выделить всё

 Image(
modifier = Modifier.size(24.dp),
painter = painterResource(currencyCode.flag),
contentDescription = null,
colorFilter = ColorFilter.colorMatrix(rememberSaturation)
)
Я пытаюсь анимировать флаг, когда пользователь нажимает на него.
Изображение


Подробнее здесь: https://stackoverflow.com/questions/786 ... a-duration
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»