5

我正在开发一个安卓应用程序。我检索了一些看起来像这样的数据:

<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 似乎应用了一般样式

文本示例

到任何和所有链接,即将它们涂成蓝色并加下划线。我宁愿不让它这样做,是否有任何简单的解决方案可以使它不样式化链接(因此,我假设“字体颜色=任何”将适用)?如果 HTML 链接标签位于字体/样式标签的内部,则行为不会改变。

4

1 回答 1

14

使用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);
于 2011-09-10T22:01:56.757 回答