首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spannable样式不适用

Spannable样式不适用
EN

Stack Overflow用户
提问于 2015-08-26 14:34:25
回答 1查看 500关注 0票数 2

因此,我有一条消息,其中包含文本和SpannableStringBuilder,其初始化方式如下:

代码语言:javascript
复制
final SpannableStringBuilder builder = new SpannableStringBuilder(message.getMessage());

默认情况下,我将字体设置为BOLD

代码语言:javascript
复制
builder.setSpan(new StyleSpan(Typeface.BOLD), 0, messageText.length(), 0);

但我的消息文本将被更改,例如:

您的问题:{问题}您的答案:{答案}

{question}和{answer}是将被替换为文本的对象,替换过程如下:

代码语言:javascript
复制
final  TextObject question = objects.getQuestion();
spannable = new SpannableString(question.getText());
spannable.setSpan(new StyleSpan(Typeface.NORMAL), 0, spannable.length(), 0);
builder.replace(start, end, spannable);

文本替换很好,但普通字体不适用于它,所以我有所有的文本加粗,但我需要这个部分是正常的

任何帮助都是非常感谢的

EN

回答 1

Stack Overflow用户

发布于 2015-08-26 14:35:51

您必须将该Spanned.SPAN_INCLUSIVE_INCLUSIVE添加为最后一个参数

代码语言:javascript
复制
spannable.setSpan(new StyleSpan(Typeface.NORMAL), 0, spannable.length(), Spanned.SPAN_INCLUSIVE_INCLUSIVE);

如果你想要一些粗体的部分和一些不粗体的部分,你必须具体说明是哪部分。setSpan方法的第二个和第三个参数负责此操作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32219514

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档