【问题标题】:How to format Java Strings in the Java class not using the xml如何在不使用 xml 的 Java 类中格式化 Java 字符串
【发布时间】:2019-09-26 15:51:49
【问题描述】:

我设置了一个字符串数组列表来将文本填充到多个介绍屏幕。由于文本是在实际的 Java 类中而不是在 xml 资源文件中填充的,我想知道如何在 java 类中使文本中的某些单词变为粗体?

 public String [] slide_descriptions = {
        "I want this text in bold \n",
        "and maybe this too!"
};

【问题讨论】:

标签: java android


【解决方案1】:

您可以使用 Html 标签。例如:

textView.setText(Html.fromHtml("< b >This is Bold< /b >"));

对于字符串,这样做:

 public String [] slide_descriptions = {
        "<b>I want this text in bold</b> \n",
        "<b>and maybe this too!</b>"
};

所以最后当你把字符串放在 textview 中时:

textView.setText(Html.fromHtml(slide_description));

【讨论】:

  • Lux 你使用 html 和 TextView 而不是 String。我编辑了答案
  • 您不能只将 添加到字符串中,否则它只会将 与字符串的其余部分一起打印出来......
  • Lux 你是 textView.setText(Html.fromHtml(slide_description));
【解决方案2】:

请参阅下面的答案:link

但是在评论中说这会降低性能。

【讨论】:

  • xml文件就这些了,java文件不能这么写?
  • “在 java 文件中”是什么意思?您需要在 java 文件中使用粗体文本吗?不在输出上?
  • 有java类和xml文件。我正在使用 java 来填充滑块屏幕。所以只有一个 xml 文件,但有 5 个滑块屏幕。所以显示的所有文本都作为字符串存储在 java 类中并填充到 textview 框中。所以我需要在java类中突出显示java字符串中的特定单词。我不知道该怎么做。
【解决方案3】:

您可以使用可扩展字符串,因为它既简单又便宜

SpannableString spannableString = new SpannableString(yourstringhere);
spannableString.setSpan(new StyleSpan(Typeface.BOLD),indexStart,indexEnd, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

【讨论】:

  • 您能否将可扩展的字符串代码添加到我提出问题的代码中,以便查看它的结构/实现方式
  • String stringToBold = "I want this text in bold"; SpannableString spannableString = new SpannableString(stringToBold); spannableString.setSpan(new StyleSpan(Typeface.BOLD),0,stringToBold.length, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
猜你喜欢
  • 2011-09-19
  • 1970-01-01
  • 2010-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-04
相关资源
最近更新 更多