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)
复制代码

 

posted @   yongfengnice  阅读(1523)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2017-11-18 window下的OpenGL学习环境搭建
2017-11-18 在Android Studio 的External Tools添加javap命令
点击右上角即可分享
微信分享提示