Apakah mungkin untuk mengatur beberapa gaya untuk potongan teks yang berbeda di dalam TextView?
Misalnya, saya mengatur teks sebagai berikut:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Apakah mungkin untuk memiliki gaya yang berbeda untuk setiap elemen teks? Misal, line1 bold, word1 italic, dll.
Tugas Umum panduan pengembang dan Cara Melakukannya di Android termasuk Memilih, Menyorot, atau Styling Bagian Teks :
// 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);
Tapi itu menggunakan nomor posisi eksplisit di dalam teks. Apakah ada cara yang lebih bersih untuk melakukan ini?