有的时候,可能我们需要展示的信息很少,这个时候如果用线性布局或者相对布局等嵌套的话,感觉有点小题大做了,那么有没有一种可能让textview展示比较复杂的方式呢?
目前提供一种解决方案,仅供参考,当然也是调api而已啦
String text = info.getText();
//text 中用户名置为蓝色,把消息置为白色
SpannableStringBuilder ssb=new SpannableStringBuilder("");//定义一个断点的sb
//用户的spannable
SpannableString ss1= new SpannableString("我是头信息:");
int startIndex=0;
int endIndex= "我是头信息:".length();
adouss.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.blue)),startIndex,endIndex, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
//消息字段
SpannableString ss2 = new SpannableString(text);
int startIndex1=0;
int endIndex1= text.length();
textss.setSpan(new ForegroundColorSpan(getResources().getColor(R.color.white)),startIndex1,endIndex1, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
//加在一起
ssb.append(ss1);
ssb.append(ss2);
tv_msg.setText(ssb);
这样一来,头信息就是蓝色,而第二个信息就是白色喽,然后如果该信息还需要添加图片的话,只需要设置左上右下的图片资源即可~~
快来试试吧~