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

标签 java android textview html-parsing text-styling

我正在开发一个安卓应用程序。我检索了一些如下所示的数据:

<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

任何和所有链接,将它们涂成蓝色并加下划线。我不想让它这样做,是否有任何简单的解决方案可以使其不风格化链接(因此,我假设,“font color=whatever”将适用)?如果 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);

关于java - 执行 Html.fromHtml 后更改 TextViews 中 html 链接的样式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7374846/

相关文章:

java - 使用 spring security 和 oauth2 刷新 token 调用失败,错误为 : UserDetailsService is required

java - j掌握。需要帮助。不知道如何编码

java - 更改默认的照片选择器 Intent 文本?

android - 在没有 qml 的情况下为 Android 编写 QT 应用程序

android - 如何解决Android Studio 3.1.1上的Android Gradle插件错误?

Android XML ScrollView

java - 当要解析的元素是 json 字符串的元素时,使用 gson 解析 json 的最简单方法是什么?

android - 如何在我们的应用程序 android+phonegap+JQM 中打开 pdf 文件?

java - 如何在屏幕尺寸变化时动态管理TextViews的位置

java - 无法将 TextView 设置为 VISIBLE