我正在开发一个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链接标记位于字体/样式标记的内部,则行为不会更改。
答案 0 :(得分:13)
使用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);