当前位置: 首页 > 面试题库 >

在textview中将字符串的一部分加粗

李烨烁
2023-03-14
问题内容

为什么以下代码不起作用?它可以在Toast中工作,但不能在TextView中工作。当我运行程序时,boldName不会显示为粗体,但是当我将其设置为Toast时,它会显示为粗体。有人还有其他解决方案吗?

String boldName = "<b>" + name + "</b>";
Spanned conBold = Html.fromHtml(boldName);
chosen_contact.setText("You have chosen " + conBold + " as your contact.");

问题答案:

老实说,我不确定为什么TextViews完全按照它们的方式工作,您可以在执行操作时将其全部设置为粗体,但前提是它们的整个TextView都为粗体,但是如果其中一部分是粗体的则不能那里的其他弦乐。

但是,此代码将为您工作:

// a SpannableStringBuilder containing text to display
SpannableStringBuilder sb = new SpannableStringBuilder("You have chosen " + name + " as your contact.");

// create a bold StyleSpan to be used on the SpannableStringBuilder
StyleSpan b = new StyleSpan(android.graphics.Typeface.BOLD); // Span to make text bold

// set only the name part of the SpannableStringBuilder to be bold --> 16, 16 + name.length()
sb.setSpan(b, 16, 16 + name.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE); // make first 4 characters Bold

chosen_contact.setText(sb); // set the TextView to be the SpannableStringBuilder


 类似资料:
  • 问题内容: 我使用正则表达式从网页中获取字符串,并且该字符串的一部分可能包含我想替换为其他内容的内容。这怎么可能呢?我的代码是这样的,例如: 问题答案:

  • 问题内容: 我想删除在特定字段中找到的字符串的一部分。 例如,该字段中的条目可以是“ 01365320 APS ”。我正在删除“ APS”。 我的问题是,我应该使用: 问题答案: 当您要编辑字段时,需要 声明: 是一个字符串函数,用第三字符串替换第一字符串中第二字符串的所有出现。 请首先使用一个子句尝试一下,看看它是否真的是您想要的。

  • 我正在创建一个程序,它可以决定用户的移动方向是否是顺时针方向(N,E,S,W)。 例如,我有变量: UsersDirection不是顺时针方向,因为它必须是“sw”,就像在correctdirection。我不知道如何比较这两个字符串,我甚至不知道如何开始。

  • 问题内容: 我对Java还是很陌生,并且遇到了一个特定的家庭作业问题,在该问题上,字符串得到了传递,然后我必须将其从此拆分成与所传递的Integer相等的部分。 例如:输入字符串“ HelloWorld”,必须将其除以2,然后将这些部分放入具有以下两个部分的数组中:array [hello,world]。 反正有使用FOR循环执行此操作吗? 到目前为止,我的代码将整个String输入每个数组元素。

  • 问题内容: 我正在尝试获取字符串的前10个字符,并想用替换空格。 我有 但是我不确定下一步该怎么做。 我想要绳子 这是对字符串的测试。 成为 this_is_th 问题答案: 只需使用str_replace: 您可以在上一个和呼叫之后执行此操作,如下所示: 但是,如果您想花哨的话,可以一行完成:

  • 问题内容: 这是文本: 我想用粗体显示“服务条款”和“请注意:下文所述的HIGO服务条款自以上’最后更新’日期起对正在浏览HIGO网站的任何用户或创建了HIGO网站的任何用户生效。 HIGO帐户在该日期或之后。” 我尝试在uitextview中以编程方式使用uilabel,但无法正常工作: 也尝试使用这些,但不起作用,它仅显示“服务条款”和“最新更新..”,没有显示“请注意…”。 如何加粗字符串的