4
final StyleSpan bss = new StyleSpan(android.graphics.Typeface.BOLD);
final SpannableString ss = new SpannableString("How to " + text + " in " + type);
ss.setSpan(bss, 7, text.length() + 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
ss.setSpan(bss, 7 + text.length() + 4, ss.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(ss);

BOLDtextと作りたい。ただし、タイプのみ BOLD です。type

私は何を取りこぼしたか?

4

3 に答える 3

8

ドキュメントによると:

setSpan(Object what, int start, int end, int flags) 指定されたマークアップ オブジェクトをテキストの開始から終了までの範囲に添付するか、オブジェクトが既に他の場所に添付されている場合は、その範囲にオブジェクトを移動します。

AStyleSpanは、 内で 1 回だけ使用できますSpannable。それぞれの StyleSpan を作成する必要がありtexttype

于 2013-07-25T11:57:02.930 に答える
0

複数のオブジェクトを作成する代わりに、静的メソッドを使用することをお勧めします。

CharacterStyle.wrap(CharacterStyle c)
于 2014-02-23T18:42:46.180 に答える
0

以下のようなオブジェクトを作成する必要があります。

ss.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 7, text.length() + 7, Spannable.SPAN_INCLUSIVE_INCLUSIVE);
ss.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 7 + text.length() + 4, ss.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);
textView.setText(ss)
于 2013-10-23T17:23:19.370 に答える