Android:将文本样式设置为 TextView 文本的一部分

Posted

技术标签:

【中文标题】Android:将文本样式设置为 TextView 文本的一部分【英文标题】:Android: Set text style to part of TextView text 【发布时间】:2012-11-08 07:33:56 【问题描述】:

android中,很容易set a style for an entire TextView:

textView.setTypeface(null, Typeface.BOLD_ITALIC);
textView.setTypeface(null, Typeface.BOLD);
textView.setTypeface(null, Typeface.ITALIC);

有没有办法为视图中的特定单词(或字符)设置样式?我想生成如下一行:

年份:2012,语言:亚美尼亚语,字幕:英语

【问题讨论】:

【参考方案1】:

是的,您可以使用html.fromHtml 将特定单词的样式更改为:

textview.setText(Html.fromHtml("<b>" + Year: + "</b>"+"2012,
                  "+"<b>" + Language: + "</b>"+":Armenian,"
                  "+"<b>" + Subtitles: + "</b>"+":English"));

编辑:

如果您在使用Html.fromHtml(...) 时遇到任何问题,那么您可以使用SpannableString 来创建具有不同字体、颜色或样式的字符串。

【讨论】:

【参考方案2】:
textView.setText(Html.fromHtml(
    "<b> Year </b>2012<br> <b> Language </b>"));

【讨论】:

【参考方案3】:

为此,您可以使用 HTML 格式的文本,如下所示。

  textView.setText(Html.fromHtml("<b>Year:</b>2012,<b>Language</b>"));

【讨论】:

以上是关于Android:将文本样式设置为 TextView 文本的一部分的主要内容,如果未能解决你的问题,请参考以下文章

Android:将 onClickListener 设置为 TextView 中的部分文本 - 问题

如何设置TextView里面字体的大小

Android如何在CheckBox检查事件后更新RecyclerView内TextView的文本样式

textview可以设置字体的粗体 斜体吗

可跨页字符串:使用Spans设置文本样式

可跨页字符串:使用Spans设置文本样式