用法
Image( painter = painterResource(id = R.drawable.ic_back), contentDescription = null, modifier = Modifier .padding(start = 10.dp) .clickable{ showToast("点击") } .size(25.dp) .align(Alignment.CenterStart), )
获取到上层clickable的 typeName和这次是否一样,两次点击调用的函数一样并且时间小于2000毫秒属于快速点击,在此拦截
封装代码:
var lastClickTime:Long = 0var typeName = ""fun Modifier.clickable( click:() -> Unit):Modifier { return this.then( clickable( interactionSource = MutableInteractionSource(), indication = null ){ val time = System.currentTimeMillis() if (typeName == click.javaClass.typeName.toString() && time - lastClickTime < 2000){ Log.d(" Modifier.clickable","点快了!") return@clickable } lastClickTime = time typeName = click.javaClass.typeName.toString() click() } )}