android 我可以在jetpack compose中使用按钮状态启用和禁用之间的持续时间淡入动画吗?

ss2ws0br  于 2023-03-16  发布在  Android
关注(0)|答案(1)|浏览(113)

这是我如何在compose中创建按钮

Button(
        modifier = modifier,
        enabled = enabled.value,
        onClick = {}
    ) {
        Text(text = text)
    }
h4cxqtbf

h4cxqtbf1#

Button的背景色基于ButtonDefaults.buttonColors()中定义的颜色。
解决方法是为disabledBackgroundColorbackgroundColor定义相同的颜色。
比如:

var isButtonEnabled by remember { mutableStateOf(true) }
val animateStateButtonColor = animateColorAsState(
    targetValue = if (isButtonEnabled) Color.Blue else Teal200,
    animationSpec = tween(2000, 0, LinearEasing)
) 

Button(
    colors = ButtonDefaults.buttonColors(
        backgroundColor = animateStateButtonColor.value,
        disabledBackgroundColor = animateStateButtonColor.value,
    ),
    enabled = isButtonEnabled,
    onClick = { /* ... */ }
) {
    Text(text = "Button")
}

相关问题