SpannableString在strings.xml中定义的文本内

时间:2015-04-02 09:59:52

标签: android

如何使用SpannableString中定义的字符串设置strings.xml

例如,我有:%s liked your post

然后我做

SpannableString usernameSS = new SpannableString(username);
usernameSS.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 0, username.length(), 0);
getString(R.string.like_post, usernameSS);

但它不起作用 - 风格没有得到应用,我知道我可以使用HTML <b><i>但是有没有办法做到这一点而不必诉诸于HTML?因为我可能需要稍后通过TextAppearanceSpan

插入更复杂的样式

1 个答案:

答案 0 :(得分:3)

是的,这里的订单很重要:

String finalString = getString(R.string.like_post, username);
SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(finalString); 
int startIndex = finalString.indexOf(username);
spannableStringBuilder.setSpannable(new StyleSpan(Typeface.BOLD_ITALIC), startIndex, startIndex + username.length(), 0);

应该这样做。请检查正确的开始/结束索引