gpt4 book ai didi

android - 按下 Compose Surface 时更改 alpha(可点击修改器)

转载 作者:行者123 更新时间:2023-12-04 12:09:38 25 4
gpt4 key购买 nike

我正在使用 clickable Surface上的修饰符并希望创建一个自定义指示,以使表面(连同其内容)在按下时显示为 0.5 alpha。但似乎该指示只能用于绘制额外的 UI。
如何重绘 Surface按下时有0.5 alpha?

Surface(
modifier = Modifier.clickable(interactionSource = remember { MutableInteractionSource() }, indication = CustomIndication, onClick = onClick)
) {

...

}

最佳答案

1.0.xclickable修饰符你可以指定 Indication 范围。您可以使用 rememberRipple 定义的默认波纹。改变颜色。
就像是:

val interactionSource = remember { MutableInteractionSource() }

//clickable modifier
val clickable = Modifier.clickable(
interactionSource = interactionSource,
indication = rememberRipple(color = /* use you custom color */
MaterialTheme.colors.primary.copy(alpha = 0.5f))
) { /* update some business state here */ }


Surface(modifier = clickable){
//...
}
否则你可以使用类似的东西:
val interactionSource = remember { MutableInteractionSource() }
val isPressed by interactionSource.collectIsPressedAsState()
val backgroundAlpha = if (isPressed) 0.5f else 1f

Surface(
modifier = Modifier.clickable(true){},
color= MaterialTheme.colors.secondary.copy(alpha = backgroundAlpha)
) {
//....
}

关于android - 按下 Compose Surface 时更改 alpha(可点击修改器),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66582295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com