我有这个字符串:
String[] text = {"Address 1: Street nr.45 ",
"Address 2: Street nr.67",
"Address 3: Street nr. 56 \n Phone number: 000000000"};
稍后将使用:
((TextView)findViewById(R.id.adresa)).setText(text[newSelectedAddress]);
从微调框选择项目时.
如何在字符串内的文本中添加格式?我希望Address的街道号为粗体.带斜体
解决方法:
您必须使用Spannable
.尽管创建它们有点罗word,看起来很复杂,但这不是火箭科学.
一个例子:
String source = "This is example text";
SpannedString 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);
结果:这是示例文本
然后,将这个Spannable设置为setText,而不是普通的String.