在我传递给TagHandler
的{{1}}中,我想将一些格式化的文本附加到给定的Html.fromHtml()
对象,然后传递给Editable output
。
使用TextView
附加纯文本可以正常工作。但如何附加红色或斜体文字?
output.append("my text")
答案 0 :(得分:2)
您应该可以使用Html.fromHtml
和Editable.setSpan()
来执行此操作。这是一些示例代码:
appendFormatted(output, "<font color=red><i>red italic</i></font>");
}
private void appendFormatted(Editable text, String string) {
final int start = text.length();
final Spanned span = Html.fromHtml(string);
text.append(span);
final int end = text.length();
for (final Object o : span.getSpans(0, span.length(), Object.class)) {
text.setSpan(o, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
}
如果您只需要应用一些简单的格式,则可以将特定的CharacterStyle
派生对象传递给Editable.setSpan()
调用 - 请参阅开发人员网站上的"Selecting, Highlighting, or Styling Portions of Text" example。
答案 1 :(得分:1)
如果我在这里理解你的问题是一种方法来做到这一点
mBox = new TextView(context);
mBox.setText(Html.fromHtml("<b>" + title + "</b>" + "<br />" +
"<small>" + description + "</small>" + "<br />" +
"<small>" + DateAdded + "</small>"));
答案是从类似的问题here中复制的。