如何使其包含下划线的文本URL

时间:2014-07-21 13:08:04

标签: android url web autolink

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

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

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

<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下面应该有“下划线”一样 但事实并非如此。

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

我想让它们同时发挥作用。 那么解决方案是什么?

任何人都帮助我。

小心。

1 个答案:

答案 0 :(得分:1)

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

从超链接中删除下划线的方法 -

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