Android Compose 文本多个点击事件

val annotatedString = buildAnnotatedString {
            if (isVipList){
                append("Automatic subscription,cancel anytime\n")
                pushStringAnnotation("Terms of Use", "Terms of Use")
                append("Terms of Use")
                append(" · ")
                pushStringAnnotation("Privacy Policy", "Privacy Policy")
                append("Privacy Policy")
            }
        }


ClickableText(
    modifier = Modifier.height(52.dp).fillMaxWidth(),
    text = annotatedString,
    style = TextStyle(color = Color(0xFF999999), fontSize = 12.sp, textAlign = TextAlign.Center),
    onClick = { offset ->
        // 获取点击位置处的所有注解
        val annotations = annotatedString.getStringAnnotations(start = offset, end = offset)
        if (annotations.isNotEmpty()) {
            // 取最后一个注解,即最上层的注解
            val annotation = annotations.last()
            when (annotation.item) {
                "Terms of Use" -> {
                    // 点击了 "Terms of Use" 文本
                  
                }
                "Privacy Policy" -> {
                    // 点击了 "Privacy Policy" 文本
                   
                }
            }
        }
    }
)
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容