TextView链接下划线问题

时间:2018-05-01 09:43:44

标签: android textview

为什么链接上的下划线在链接之前超过空格字符的任何想法?您可以看到下划线几乎触及链接前的字符r和d。

enter image description here

我的TextView:

    <TextView
        android:id="@+id/textView"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:paddingBottom="5dp"
        android:paddingLeft="20dp"
        android:paddingRight="20dp"
        android:paddingTop="15dp"
        android:text="@string/register_terms"
        android:textAlignment="center"
        android:textColor="#BFFFFFFF"
        android:textColorLink="@android:color/white"
        android:textSize="15sp" />

我的字符串:

<string name="register_terms">By clicking this button, you agree to our <a href="https://www.google.com/">Terms &amp; Conditions</a> and <a href="https://www.google.com/">Privacy Policy</a>.</string>

2 个答案:

答案 0 :(得分:0)

以下是我帮助您的答案的链接:LINK

他们详细解释了如何在字符串中使用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>

希望有所帮助:)

答案 1 :(得分:0)

您可以在xml中将字符串写为:

<string name="register_terms">By clicking this button, you agree to our&#160;<a href="https://www.google.com/">Terms &amp; Conditions</a> and <a href="https://www.google.com/">Privacy Policy</a>.</string>

并在textview属性中声明为:android:text="@string/register_terms"

或者您可以将xml中的字符串声明为:

<string name="register_terms">By clicking this button, you agree to our <![CDATA[<a href="https://www.google.com/">Terms &amp; Conditions</a>]]> and <![CDATA[<a href="https://www.google.com/">Privacy Policy</a>]]>.</string>

并在活动中使用:

    TextView textView = (TextView) findViewById(R.id.textView);
    textView.setText(Html.fromHtml(getString(R.string.register_terms)));