2

我有 TextView,它有 URL。我在 XML 布局中使用 AutoLine="web"。

它们中的大多数工作正常,但其中一些存在问题。

例如,如果下面有两个不同的 URL,

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:text="http://sykwon.blog.me/" />
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:autoLink="web"
    android:text="http://sy_kwon.blog.me/" />

那么没有“下划线”的 URL 可以正常工作,但是有“下划线”的 URL 不能正常工作。

正常操作就像是URL下面应该有“下划线”,但事实并非如此。

由于“下划线”,链接有效。

我想让它们都起作用。那么解决方案是什么?

任何人都可以帮助我。

小心。

4

1 回答 1

1

下划线不被视为任何 url 的有效部分,您可以将其删除:

去除超链接下划线的方法——

Spannable s = (Spannable) Html.fromHtml(content);
for (URLSpan u: s.getSpans(0, s.length(), URLSpan.class)) {
    s.setSpan(new UnderlineSpan() {
        public void updateDrawState(TextPaint tp) {
            tp.setUnderlineText(false);
        }
    }, s.getSpanStart(u), s.getSpanEnd(u), 0);
}
tv.setText(s);

参考 - how-to-create-textview-link-without-underscore-in-android

于 2014-07-21T13:17:59.543 回答