我想用链接制作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>
然而,仍有一个问题,实际链接文本之前的空格如下划线:
为什么会这样,以及如何解决?
答案 0 :(得分:10)
// @ string / link
<string name="link1">Test <a href="#">link</a></string>
您可以将xml中的空格用作字符串使用 
。 XML不会原样占用空白区域。在设置之前它会修剪空白区域。因此,请使用 
而不是单个空格。
答案 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>