android开发去掉TextView使用html.from里面的a链接的下划线的方法


class ClickURLSpan(url: String) : URLSpan(url) {
companion object {
fun stripUnderline(textView: TextView) {
textView.movementMethod = LinkMovementMethod.getInstance()
if (textView.text is Spannable) {
val spannable = textView.text as Spannable
val allSpans = spannable.getSpans(0, spannable.length, URLSpan::class.java)//查找<a></a>对应的URLSpan
for (span in allSpans) {
val start = spannable.getSpanStart(span)
val end = spannable.getSpanEnd(span)
spannable.removeSpan(span)
spannable.setSpan(ClickURLSpan(span.url), start, end, 0)//替换为自定义的ClickURLSpan
}
textView.autoLinkMask = 0
textView.text = spannable
}
}
}
override fun updateDrawState(ds: TextPaint) {
super.updateDrawState(ds)
ds.linkColor = ContextCompat.getColor(BaseLib.getContext(), R.color.text_primary)//设置a链接颜色
ds.isUnderlineText = false  //去掉a链接下划线
}
override fun onClick(widget: View) {
LogUtils.d("ClickURLSpan onClick:$url")
}
}
使用方法:ClickURLSpan.stripUnderline(textview)

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM