我很好奇,給一個TextView中的不同段落的文字能否設置不同的樣式。例如,我設置了像下邊這樣的文字:
descbox.setText(line1+ "\n" + line2+ "\n" + word1+ "\t" + word2+ "\t" + word3);
現在,給每段文字都有一個不同的樣式是否可能呢?我的意思是第一行粗體,第一個文字正常等等
我發現了這個
EditText vw = (EditText)findViewById(R.id.text);
vw.setText("Italic, highlighted, bold.");
TextView.BufferType.SPANNABLE);
Spannable str = vw.getText();
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
但是它在文本裡邊使用數字位置。有更簡單的方法麼?
這種情況下,每個人都想知道怎麼做,這是一種方法:
mBox = new TextView(context);
mBox.setText(Html.fromHtml("<b>" + title + "</b>" + "<br />" +
"<small>" + description + "</small>" + "<br />" +
"<small>" + DateAdded + "</small>"));
這個非官方的列表是這個方法每個關鍵字的作用,請看this link