以编程方式在android中将下划线文本设置为TextView

Posted

技术标签:

【中文标题】以编程方式在android中将下划线文本设置为TextView【英文标题】:Set underline text to TextView in android programmatically 【发布时间】:2012-10-10 23:09:37 【问题描述】:

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

【问题讨论】:

请看这篇帖子:***.com/questions/2394935/… 6 种方式 - Underline a TextView In Android 【参考方案1】:

试试这个代码:

   textview.setPaintFlags(textview.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG);

【讨论】:

去掉下划线怎么样? textview.setTypeface(Typeface.NORMAL); 这个是最好的解决方案,每个人都应该使用这个代码,一行行可用的代码。谢谢继续保持【参考方案2】:

这是最简单的方法

TextView theTextView = new TextView(this);

theTextView.setText(html.fromHtml("<u>Text to underline</u>"));

【讨论】:

方法“fromHtml”已被弃用【参考方案3】:

试试这个:

TextView myTextView = new TextView(this);
SpannableString mySpannableString = new SpannableString("My String");
mySpannableString.setSpan(new UnderlineSpan(), 0, mySpannableString.length(), 0);
myTextView.setText(mySpannableString);

【讨论】:

【参考方案4】:

Kotlin 方式

textview.paintFlags = Paint.UNDERLINE_TEXT_FLAG

【讨论】:

【参考方案5】:

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

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

我的解决方案是这个 sn-p textView.setPaintFlags(0);

【讨论】:

感谢分享。我遇到了同样的问题。【参考方案6】:

这是 Kotlin 下划线扩展文本

fun String.underLine(): SpannableString 
    val spanStr = SpannableString(this)
    spanStr.setSpan(UnderlineSpan(), 0, spanStr.length, 0)
    return spanStr

【讨论】:

【参考方案7】:

对于 kotlin .. 为 textview 或 String 加下划线 使用 HtmlCompat.fromHtml() 方法

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>

【讨论】:

以上是关于以编程方式在android中将下划线文本设置为TextView的主要内容,如果未能解决你的问题,请参考以下文章

在其线性布局垂直父Android中将以编程方式创建的单选按钮居中

如何以编程方式在 Android 中将 .mid 转换为 .wav 文件?

在android中以编程方式覆盖文本到语音设置中的“始终使用我的设置”选项

如何在 Android TextView 中将字体样式设置为粗体、斜体和下划线?

Android:导航抽屉标题文本视图未以编程方式设置

如何以编程方式在 iphone 中将音乐文件设置为通话音和消息音