本文主要讲解一些安卓中实用的compose知识,长期更新
防快速点击
说明
防快速点击主要使用 Modifier 操作符来实现,代码如下
代码
@Composable
fun Modifier.avoidRepeatclickable(millis: Long = 500, onClick: () -> Unit): Modifier {
var timeStamp by remember {
mutableStateOf(0L)
}
return clickable {
if (System.currentTimeMillis() - timeStamp > millis) {
onClick()
timeStamp = System.currentTimeMillis()
}
}
}
复制代码
效果
gif 中有两个按钮,
-
第一个使用正常的 clickable,每次点击悲剧都会变色;
-
第二个按钮使用了我们的防快速点击操作符,500ms 内多次点击之后出发一次背景变色;

Compose 中跳转 Activity,并获取返回结果
说明
这里需要使用 ActivityResult Api,compose 专门进行了扩展
需要使用的扩展库如下:
androidx.activity:activity-compose:1.3.0
复制代码
代码
val launcher = rememberLauncherForActivityResult(contract =object : ActivityResultContract<String, String>() {
override fun parseResult(resultCode: Int, intent: Intent?): String {
return intent?.getStringExtra("data")?:""
}
/**
* @param compose向Compose中传的数据 ActivityResultContract<String, String>的第一个泛型
*/
override fun createIntent(context: Context, input: String?): Intent {
return Intent(context,GenerateActivityResultActivity::class.java).apply {
putExtra("data",input)
}
}
} , onResult = {result-> //result 是ActivityResultContract<String, String>第二个泛型
activityResult = result
})
复制代码
git 地址:github.com/ananananzhu…
效果

© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END



















![[02/27][官改] Simplicity@MIX2 ROM更新-一一网](https://www.proyy.com/wp-content/uploads/2020/02/3168457341.jpg)



![[桜井宁宁]COS和泉纱雾超可爱写真福利集-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/4d3cf227a85d7e79f5d6b4efb6bde3e8.jpg)

![[桜井宁宁] 爆乳奶牛少女cos写真-一一网](https://www.proyy.com/skycj/data/images/2020-12-13/d40483e126fcf567894e89c65eaca655.jpg)