Bir TextView içindeki farklı metin parçaları için birden fazla stil ayarlamak mümkün müdür?
Örneğin, metni şu şekilde ayarlıyorum:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Her metin öğesi için farklı bir stile sahip olmak mümkün müdür? Örneğin, satır1 kalın, sözcük1 italik, vb.
Geliştirici kılavuzunun Android'de Ortak Görevler ve Nasıl Yapılır Metninin Bölümlerini Seçme, Vurgulama veya Stil Oluşturma şunları içerir :
// Get our EditText object. EditText vw = (EditText)findViewById(R.id.text); // Set the EditText's text. vw.setText("Italic, highlighted, bold."); // If this were just a TextView, we could do: // vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE); // to force it to use Spannable storage so styles can be attached. // Or we could specify that in the XML. // Get the EditText's internal text storage Spannable str = vw.getText(); // Create our span sections, and assign a format to each. 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);
Ancak bu, metnin içinde açık konum numaraları kullanır. Bunu yapmanın daha temiz bir yolu var mı?