机械加工怎么找客户,sem优化师是做什么的,百度代运营,模具设计三大软件目录#xff1a; 1 不需要双击事件 规避频繁单击事件2 需要双击事件#xff08;常规写法#xff09;3 后记#xff1a;不建议使用上面的代码自定义按钮 1 不需要双击事件 规避频繁单击事件
var firstClickTime by remember { mutableStateOf(System.currentTimeMillis()… 目录 1 不需要双击事件 规避频繁单击事件2 需要双击事件常规写法3 后记不建议使用上面的代码自定义按钮 1 不需要双击事件 规避频繁单击事件
var firstClickTime by remember { mutableStateOf(System.currentTimeMillis()) }
Icon(Icons.Default.Settings,contentDescription Localized description,//tint settingTextColor,// 图标颜色modifier Modifier.pointerInput(this) {// 手势输入处理detectTapGestures(// 检测点击类型的手势onDoubleTap null,onTap {// 当不需要使用双击事件的时候应该避免频繁点击单击按钮// 此时需要先将双击事件的代码onDoubleTap {...} 全都注释或者设置为null// 如果要触发单击事件的时间 减去 本次第一次按下的时间 大于 800ms则才认为是合理的单击事件// 避免急速点击时触发多次单击事件if (System.currentTimeMillis() - firstClickTime 800) {// 实现单击事件Toast.makeText(context, 合理单击, Toast.LENGTH_SHORT).show()}},onPress {this.awaitRelease() // 等待手指抬起// 本次按下的第一时间firstClickTime System.currentTimeMillis()//Toast.makeText(context, 每次按下都优先触发, Toast.LENGTH_SHORT).show()},onLongPress {Toast.makeText(context, 长按, Toast.LENGTH_SHORT).show()})}
)2 需要双击事件常规写法
Icon(Icons.Default.Settings,contentDescription Localized description,//tint settingTextColor,// 图标颜色modifier Modifier.pointerInput(this) {// 手势输入处理detectTapGestures(// 检测点击类型的手势onDoubleTap {Toast.makeText(context, 双击, Toast.LENGTH_SHORT).show()},onTap {Toast.makeText(context, 单击, Toast.LENGTH_SHORT).show()},onPress {Toast.makeText(context, 每次按下都优先触发, Toast.LENGTH_SHORT).show()},onLongPress {Toast.makeText(context, 长按, Toast.LENGTH_SHORT).show()})}
)3 后记不建议使用上面的代码自定义按钮
上面的代码在最新的 M3 中点击按钮不会带有涟漪小动画可以尝试使用以下
modifier Modifier.padding(PaddingValues(bottom 2.dp)).combinedClickable(onClick {onTap()// 自定义单击事件},onLongClick {onLongPress()// 自定义长按事件},onLongClickLabel stringResource(R.string.app_name))