gpt4 book ai didi

android - 为什么我的文本在使用 SpannableStringBuilder 时没有显示样式?

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:22:21 25 4
gpt4 key购买 nike

SpannableString 对象有问题。

下面是一个简短的例子:

SpannableString spanstr = new SpannableString("Bold please!");
spanstr.setSpan(new StyleSpan(Typeface.BOLD), 0, spanstr.length(), 0);

SpannableStringBuilder sb = new SpannableStringBuilder();
sb.append(spanstr);
sb.append("\n"); // A newline
sb.append("The first line is bold. This one isn't.");

CharSequence cq = sb.subSequence(0, sb.length());
// ^There's no such method to return a SpannableString,
// so I try to return a CharSequence instead.

// And then, at last:
TextView contentView = (TextView) findViewById(R.id.some_id);
contentView.setText(cq);

这个例子试图做的是展示这个:

Bold please!
The first line is bold. This one isn't.

但问题是:文本的第一行不会以粗体显示。

为什么它没有达到预期的效果?

最佳答案

使用 spannable string builder 在 textview 中设置为文本:

contentView.setText(sb);

否则你可以这样做:

SpannableStringBuilder spanstr = new SpannableStringBuilder("Bold please!");
spanstr.setSpan(new StyleSpan(Typeface.BOLD), 0, spanstr.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spanstr.append("\n");
spanstr.append("The first line is bold. This one isn't.");
contentView.setText(spanstr);

关于android - 为什么我的文本在使用 SpannableStringBuilder 时没有显示样式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16060991/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com