// 给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
效果: