我有一个TextView,它将保存一个样式化的多行字符串。由于数据是从不同的来源逐点绘制的,因此该文本是逐行生成的。在抓取每个字段时,我在新行上向TextView添加了一个Bold标题,然后将该字段的数据以斜体添加到新行中。如何在组装字符串时为TextView生成样式文本?
示例格式:
截止日期
2010年7月22日
场
CSC 350
我可以这样设置样式:
Spannable str = (Spannable) textview.getText();
str.setSpan(new StyleSpan(android.graphics.Typeface.Bold), 0, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.Italic), 8, 21, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.Bold), 21, 27, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.Italic), 27, 33, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
但是这需要知道运行时每段文本的长度,这是无法管理的,因为可以添加到textview的数据字段数量是可变的。
如何添加样式,因为我添加了每段文本而不是在添加了所有文本之后?
如果您收到来自资源的样式字符串,这样对方的回答将是有益的:http://stackoverflow.com/questions/3235131/set-textview-text- from-html-formatted-string-resource-in-xml – 2011-08-21 11:42:18