![android-使用SpannableString [ Builder]和RTF文本,第1张 android-使用SpannableString [ Builder]和RTF文本,第1张](/aiimages/android-%E4%BD%BF%E7%94%A8SpannableString+%5B+Builder%5D%E5%92%8CRTF%E6%96%87%E6%9C%AC.png)
我正在尝试构建富文本格式,其中第一部分显示为“ Looking for:”,并以粗体显示,但其余部分未以粗体显示.这是我的代码:
SpannableStringBuilder lookingForString = new SpannableStringBuilder("Looking for: ");lookingForString.setSpan(new StyleSpan(Typeface.BolD), 0, lookingForString.length(), 0);int start = (lookingForString.length() - 1);for (int i = 0; i < looking_for_names.length(); ++i) {// No comma before the first and after the last 'Looking for' value if (i > 0) { lookingForString.append(", "); lookingForString.setSpan(new StyleSpan(Typeface.norMAL), start, (lookingForString.length() - 1), 0); start += 2; } String lfItem = looking_for_names.optString(i); lookingForString.append(lfItem); lookingForString.setSpan(new StyleSpan(Typeface.norMAL), start, (lookingForString.length() - 1), 0); start += lfItem.length();}tvLookingFor.setText(lookingForString, BufferType.SPANNABLE);但是,结果是整行都加粗了.我已经尝试了许多变体,但是我无法设法正确控制字体……无论我如何编码,它都倾向于保留第一个字体.
如何仅使“ Looking for:”为粗体,而其余文本为常规(非粗体)?
解决方法:
如果只需要加粗文本部分,则只需使用HTML标签.
String HTMLString="<b>Looking for: Bold</b> and normal";tvLookingFor.setText(HTML.fromHTML(HTMLString), TextVIEw.BufferType.SPANNABLE); 总结 以上是内存溢出为你收集整理的android-使用SpannableString [/ Builder]和RTF文本全部内容,希望文章能够帮你解决android-使用SpannableString [/ Builder]和RTF文本所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)