我想使一个TextView的内容粗体,斜体和下划线。我尝试了下面的代码,它工作,但没有下划线。
<Textview android:textStyle="bold|italic" ..
我该怎么做?有什么快速的想法吗?
我想使一个TextView的内容粗体,斜体和下划线。我尝试了下面的代码,它工作,但没有下划线。
<Textview android:textStyle="bold|italic" ..
我该怎么做?有什么快速的想法吗?
当前回答
只有一行xml代码
android:textStyle="italic"
其他回答
style="?android:attr/listSeparatorTextViewStyle
通过这种风格,你可以实现下划线
这是一个添加下划线的简单方法,同时保持其他设置:
textView.setPaintFlags(textView.getPaintFlags() | Paint.UNDERLINE_TEXT_FLAG);
对我来说,不加引号也行:
<item name="android:textStyle">bold|italic</item>
您可以通过在其core-ktx依赖项下使用Kotlin的buildSpannedString{}轻松实现。
val formattedString = buildSpannedString {
append("Regular")
bold { append("Bold") }
italic { append("Italic") }
underline { append("Underline") }
bold { italic {append("Bold Italic")} }
}
textView.text = formattedString
如果您正在从文件或网络读取该文本。
你可以通过在文本中添加HTML标签来实现
This text is <i>italic</i> and <b>bold</b>
and <u>underlined</u> <b><i><u>bolditalicunderlined</u></b></i>
然后你可以使用HTML类将HTML字符串处理成可显示的样式文本。
// textString is the String after you retrieve it from the file
textView.setText(Html.fromHtml(textString));