8

これは例です。

String source = "This is example text";
Spannable out = new SpannedString(source);
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
out.setSpan(boldSpan, 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
out.setSpan(boldSpan, 9, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

//someTextView.setText(out);


期待される結果:これはサンプル テキストです (" hi " と " xam " は太字) 実際の結果: これはサンプル テキストです (最後のsetSpanメソッドでのみ機能し、太字は "xam" のみです)


マルチスパン可能なテキストを作成するには? それが可能だ? Spannable.SPAN_EXCLUSIVE_EXCLUSIVEフラグ
に問題があるのではないでしょうか? ありがとう。

4

2 に答える 2

20

それぞれに新しい StyleSpanが必要だと思います。

String source = "This is example text";
Spannable out = new SpannedString(source);
StyleSpan boldSpan = new StyleSpan(Typeface.BOLD);
StyleSpan boldSpan2 = new StyleSpan(Typeface.BOLD);
out.setSpan(boldSpan, 1, 3, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
out.setSpan(boldSpan2, 9, 12, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

ただし、試していません。

于 2012-09-26T13:49:14.877 に答える