Có thể đặt nhiều kiểu cho các đoạn văn bản khác nhau trong TextView không?
Chẳng hạn, tôi đang thiết lập văn bản như sau:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Có thể có một phong cách khác nhau cho mỗi yếu tố văn bản? Ví dụ: dòng1 đậm, chữ in nghiêng, v.v.
Các tác vụ chung của Hướng dẫn dành cho nhà phát triển và Cách thực hiện chúng trong Android bao gồm Chọn, tô sáng hoặc Tạo kiểu cho các phần văn bản :
// 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);
Nhưng điều đó sử dụng số vị trí rõ ràng bên trong văn bản. Có cách nào sạch hơn để làm điều này?