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

530

我想让一个 TextView 的内容加粗、斜体和带下划线。我尝试了以下代码,它可以实现加粗和斜体,但无法实现下划线。

<Textview android:textStyle="bold|italic" ..

我该如何做?有什么快速的想法吗?


只设置其中一个是否有效? - falstro
是的,运作得很好。我也想把它加下划线。 - d-man
6
textView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG); 可以翻译为:textView.setPaintFlags(Paint.UNDERLINE_TEXT_FLAG); - bCliks
21
tv.setTypeface(null, Typeface.BOLD_ITALIC);这行代码的作用是将tv的字体设置为粗斜体。 - user2742371
下划线TextView - 5种惊人的方法 - Vijay Ram
12个回答

5
    style="?android:attr/listSeparatorTextViewStyle
  • 通过制作这种样式,你可以实现下划线

0
社区的答案和Vivek的答案介绍了SpannableString类。这个方法可以实现,但是如果你想要更多的灵活性来逐步构建字符串,并在每个部分中使用不同的样式/效果,就像StringBuilder一样,该怎么办呢?
是否有类似于可扩展字符串的StringBuilder?事实证明确实有。Morgan Koh的答案解释了Kotlin的用法。在Java中,我们也可以做到这一点,例如:
  SpannableStringBuilder myString = new SpannableStringBuilder().append("this in bold",boldSpan,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
  myString.append("\n\nThis line in regular text\n\n");

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接