【问题标题】:How to make it work that the text URL which contains underscore如何使包含下划线的文本 URL 起作用
【发布时间】:2014-09-12 00:10:05
【问题描述】:

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

因为有“下划线”,所以链接有效。

我想让它们都起作用。 那有什么办法呢?

请大家帮帮我。

保重。

【问题讨论】:

标签: android url web autolink


【解决方案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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-26
    • 1970-01-01
    • 2016-02-10
    • 1970-01-01
    相关资源
    最近更新 更多