TextView锚链接空间

时间:2018-03-16 09:03:13

标签: android textview

我想用链接制作TextView。我用html和java的组合制作了它:

// used to enable link navigation on TextView
setMovementMethod(LinkMovementMethod.getInstance())

// TextView with link
<TextView
    android:id="@+id/textView5"
    android:layout_width="wrap_content"
    android:layout_height="19dp"
    android:layout_marginTop="8dp"
    android:gravity="center"
    android:linksClickable="true"
    android:text="@string/link"/>

// @string/link
<string name="link">Test <a href="#">link</a></string>

然而,仍有一个问题,实际链接文本之前的空格如下划线:

enter image description here

为什么会这样,以及如何解决?

2 个答案:

答案 0 :(得分:10)

// @ string / link

<string name="link1">Test&#160;<a href="#">link</a></string>

您可以将xml中的空格用作字符串使用&#160;。 XML不会原样占用空白区域。在设置之前它会修剪空白区域。因此,请使用&#160;而不是单个空格。

答案 1 :(得分:2)

在字符串中使用CDATA来使用HTML标记,并使用Html.fromHtml()方法设置文字。

以下实施:

使用Html.fromHtml()课程中的Activity设置文字。

TextView textView = (TextView) findViewById(R.id.textView);
textView.setText(Html.fromHtml(getString(R.string.link)));
textView.setMovementMethod(LinkMovementMethod.getInstance());

strings.xml修改如下:

<string name="link">Test <![CDATA[<a href="#">link</a>]]></string>