加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在执行Html.fromHtml后更改TextViews中的html链接样式

发布时间:2020-12-15 05:06:54 所属栏目:Java 来源:网络整理
导读:我正在开发一个 Android应用程序.我检索一些看起来像这样的数据: a href="http://google.com/" title=''bfont color="gold"My Link to Google!/font/b/a 我正在将它应用于这样的TextView: myTextView.setText(Html.fromHtml(myHtmlString)); 我在这里遇到
我正在开发一个 Android应用程序.我检索一些看起来像这样的数据:

<a href="http://google.com/" title=''><b><font color="gold">My Link to Google!</font></b></a>

我正在将它应用于这样的TextView:

myTextView.setText(Html.fromHtml(myHtmlString));

我在这里遇到的问题是Html.fromHtml似乎应用了一般的样式

Text example http://img30.imageshack.us/img30/2684/ss20110910171702.png

任何和所有链接,将它们涂成蓝色并加下划线.我宁愿没有这样做,是否有任何简单的解决方案,使它不风格化链接(因此,我认为,“字体颜色=无论什么”将适用)?如果HTML链接标记位于字体/样式标记的内部,则行为不会更改.

解决方法

使用android:textColorLink属性.我担心这是改变链接颜色的唯一方法.

如果您确定文本中只有一个链接,那么您可以执行以下操作:

Spanned text = Html.fromHtml(myHtmlString);
ForegroundColorSpan spans[] = text.getSpans(0,text.length(),ForegroundColorSpan.class);
if (spans.length > 0) {
    myTextView.setLinkTextColor(spans[0].getForegroundColor());
}
myTextView.setText(text);

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读