48

我想知道如何在android中为TextView设置下划线文本?请注意,我无法使用预填充的字符串设置 strings.xml 是否有任何方法可以在 Android 中使用纯 Java 代码添加它。

4

7 回答 7

117

试试这个代码:

   textview.setPaintFlags(textview.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);
于 2012-10-20T14:48:00.100 回答
22

这是最简单的方法

TextView theTextView = new TextView(this);

theTextView.setText(Html.fromHtml("<u>Text to underline</u>"));
于 2012-10-20T14:56:35.530 回答
18

试试这个:

TextView myTextView = new TextView(this);
SpannableString mySpannableString = new SpannableString("My String");
mySpannableString.setSpan(new UnderlineSpan(), 0, mySpannableString.length(), 0);
myTextView.setText(mySpannableString);
于 2012-10-20T14:53:48.123 回答
14

科特林方式

textview.paintFlags = Paint.UNDERLINE_TEXT_FLAG
于 2019-07-10T06:00:27.030 回答
9

我不知道是否有人仍然对这个话题感兴趣,但我发现了

textview.setTypeface(Typeface.NORMAL);对我不起作用。

我的解决方案是这个片段textView.setPaintFlags(0);

于 2016-02-24T11:01:58.820 回答
0

这是下划线文本的Kotlin 扩展

fun String.underLine(): SpannableString {
    val spanStr = SpannableString(this)
    spanStr.setSpan(UnderlineSpan(), 0, spanStr.length, 0)
    return spanStr
}
于 2021-10-05T21:11:16.267 回答
0

对于 kotlin .. 使用 HtmlCompat.fromHtml() 方法为 textview 或字符串添加下划线

val html = "<u> The text you want to underline </u>"
textview11.text = HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY)

用于布局 xml

<string name="text_underline"><u> The text you want to underline </u></string>
于 2021-12-16T01:17:37.857 回答