// 给Terms添加点击 以及颜色
val registerTips:String = getString(R.string.vpe_register_tips)
val spannable = SpannableString(registerTips)
// 添加点击事件 要放在上色前面,不然上色会被覆盖掉
spannable.setSpan(object : ClickableSpan(){
override fun onClick(p0: View?) {
Log.d("jyf","click spannable")
}
},registerTips.indexOf("Terms"),registerTips.indexOf("."), Spanned.SPAN_INCLUSIVE_EXCLUSIVE)
// 上颜色 要放在点击事件后面 不然上颜色的行为会被覆盖掉
spannable.setSpan(ForegroundColorSpan(Color.parseColor("#fff3b7")), registerTips.indexOf("Terms"), registerTips.indexOf("."), Spannable.SPAN_EXCLUSIVE_INCLUSIVE) //设置指定位置文字的颜色
// 使控件可点击
register_tips_tv.movementMethod = LinkMovementMethod.getInstance()
// 去掉点击背景效果,也就是设置点击高亮背景为透明效果,即无效果
register_tips_tv.highlightColor = ContextCompat.getColor(context!!,R.color.transparent)
// 最后赋值
register_tips_tv.text = spannable
效果:
本文介绍了一种在Android应用中实现对特定文本部分添加点击事件及颜色的方法。通过使用`SpannableString`和`ClickableSpan`,可以精确地控制文本的交互性和外观表现。

2905

被折叠的 条评论
为什么被折叠?



