指定文字变色
1、java代码
//指定文字变色
val spannable = SpannableStringBuilder(tv_privacy_context.text.toString())
val userClickableSpan = object : ClickableSpan() {
override fun onClick(widget: View) {
//跳转
// var intent = Intent()
// intent.setClass(this@VipDetailsMainActivity, UserMainActivity().javaClass)
// startActivity(intent)
}
override fun updateDrawState(ds: TextPaint) {
super.updateDrawState(ds)
//去掉下划线
ds.isUnderlineText = false
ds.color = getColor(R.color.tab_text_color_selected)
}
}
val privacyClickableSpan = object : ClickableSpan() {
override fun onClick(widget: View) {
// var intent = Intent()
// intent.setClass(this@VipDetailsMainActivity, PrivacyMainActivity().javaClass)
// startActivity(intent)
}
override fun updateDrawState(ds: TextPaint) {
super.updateDrawState(ds)
ds.isUnderlineText = false
ds.color = getColor(R.color.tab_text_color_selected)
}
}
spannable.setSpan(userClickableSpan, 6, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
spannable.setSpan(privacyClickableSpan, 14, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE)
tv_privacy_context.text = spannable
tv_privacy_context.movementMethod = LinkMovementMethod.getInstance()
2、xml
<androidx.appcompat.widget.AppCompatTextView
android:id="@+id/tv_privacy_context"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="5dp"
android:text="开通前请阅读《服务协议》以及《隐私政策》" />
来吧展示