2012-09-26 28 views
8

Örnek budur.Çok değişkenli metin nasıl yapılır?

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); 


Beklenen sonuç: Bu e Xam ple olduğunu        : T hi ler e Xam ple metni ("Merhaba" & "Xam" kalın)
Fiili sonucudur metin (yalnızca son setSpan yöntemi çalışır ve kalın yalnızca "xam" olur)


Çok yazılabilir metin nasıl oluşturulur? Mümkün?
Sorun devam ediyor Spannable.SPAN_EXCLUSIVE_EXCLUSIVE flag? Teşekkürler.

cevap

20

Her biri için bir yeni StyleSpan'a ihtiyacınız olduğunu düşünüyorum.

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); 

olsa bunu denemedim.

+0

Teşekkürler. Çalışıyor :) – user1523690

+0

Sorun değil. Duyduğuma sevindim. :) Cevabı kabul et lütfen çözümümden memnun kaldın. – MillyMonster

+0

Henüz bu soruna girmedim, sadece mutlu bir şekilde soruları inceliyordum .. Ama bu beni de şaşırttı. – WORMSS

0

Bunun nedeni, her kalın yazılabilir metnin bir StyleSpan tarafından temsil edilmesi gerektiğidir. Seninki sebebi, bir değerin yeniden atanmasıyla aynı.

İlgili konular