如何在 compose 中控制 AnimatedVisibility 的持续时间?

Pix*_*xel 12 android kotlin android-jetpack android-jetpack-compose

我在我的项目中使用了 compose AnimatedVisibility,但是动画太短了,无法满足我的需求。
有相关的API吗?

Cod*_*oet 10

这是来自Codelabs的示例。您可以添加自己的动画规格,其中包含每个动画的durationMillis,一个用于进入,一个用于退出:

 AnimatedVisibility(
    visible = shown,
    enter = slideInVertically(
        // Enters by sliding down from offset -fullHeight to 0.
        initialOffsetY = { fullHeight -> -fullHeight },
        animationSpec = tween(durationMillis = 150, easing = LinearOutSlowInEasing)
    ),
    exit = slideOutVertically(
        // Exits by sliding up from offset 0 to -fullHeight.
        targetOffsetY = { fullHeight -> -fullHeight },
        animationSpec = tween(durationMillis = 250, easing = FastOutLinearInEasing)
    )
) {
    Surface(
        modifier = Modifier.fillMaxWidth(),
        color = MaterialTheme.colors.secondary,
        elevation = 4.dp
    ) {
        Text(
            text = stringResource(R.string.edit_message),
            modifier = Modifier.padding(16.dp)
        )
    }
}
Run Code Online (Sandbox Code Playgroud)