作为solved here,我通过将indication设置为null来禁用点击 Flink 。然而,这是不工作的按钮或图标?!
indication
null
dy1byipe1#
在Button中,你不能在clickable修饰符中使用indication=null,因为它是由使用indication = rememberRipple()的组件内部定义的。这将使用RippleTheme提供的值创建并记住一个Ripple。您可以提供自定义的**LocalRippleTheme**来覆盖默认行为。比如:
Button
clickable
indication=null
indication = rememberRipple()
RippleTheme
Ripple
LocalRippleTheme
CompositionLocalProvider(LocalRippleTheme provides NoRippleTheme) { Button( onClick = { /*...*/ }, ) { //... } }
与:
private object NoRippleTheme : RippleTheme { @Composable override fun defaultColor() = Color.Unspecified @Composable override fun rippleAlpha(): RippleAlpha = RippleAlpha(0.0f,0.0f,0.0f,0.0f) }
mspsb9vt2#
您可以使用
Modifier.pointerInput(Unit) { detectTapGestures( onPress = { /* Called when the gesture starts */ }, onDoubleTap = { /* Called on Double Tap */ }, onLongPress = { /* Called on Long Press */ }, onTap = { /* Called on Tap */ } ) }
而不是onClick()。单击按钮时不会显示波浪效果。
onClick()
2条答案
按热度按时间dy1byipe1#
在
Button
中,你不能在clickable
修饰符中使用indication=null
,因为它是由使用indication = rememberRipple()
的组件内部定义的。这将使用RippleTheme
提供的值创建并记住一个Ripple
。您可以提供自定义的**
LocalRippleTheme
**来覆盖默认行为。比如:
与:
mspsb9vt2#
您可以使用
而不是
onClick()
。单击按钮时不会显示波浪效果。