我有一個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