SpannableStringBuilder 多个字符串拼接可以单独设置每段字符串点击 修改颜色 字体大小等多个属性
例子如下: var period1 = "点击登录即表示同意" var period2 = "用户服务协议" var period3 = "和" var period4 = "隐私政策条款" var period = period1 + period2 + period3 + period4 var buider = SpannableStringBuilder() buider.append(period) buider.setSpan(object : ClickableSpan() { override fun onClick(p0: View) { Toast.makeText(this@MainActivity, "用户服务协议", Toast.LENGTH_LONG).show() } override fun updateDrawState(ds: TextPaint) { super.updateDrawState(ds) ds.color = getColor(R.color.black) } }, period1.length, period1.length + period2.length, 0) buider.setSpan(object : ClickableSpan() { override fun onClick(p0: View) { Toast.makeText(this@MainActivity, "隐私政策条款", Toast.LENGTH_LONG).show() } override fun updateDrawState(ds: TextPaint) { super.updateDrawState(ds) ds.color = getColor(R.color.black) } }, period1.length + period2.length + period3.length, period.length, 0) tvTest?.movementMethod = LinkMovementMethod.getInstance() tvTest?.text = buider //点击的背景 tvTest?.highlightColor = Color.parseColor("#00000000")