工作日志记录:在应用开发的过程中,有的时候碰到一个需求:需要在同一行显示不同颜色的文本,而且结合UI控制的效果来看只能使用一个Textview来显示,这种情况下,可以使用以下方法来实现:使用SpannableString类实现
惯例上图:
以下实现代码如下:
String str="回复"+bean.getReplyUserName()+": "+bean.getCommentContent();//字符串 SpannableString spannableString = new SpannableString(str);//构造方法 //Spanned.SPAN_EXCLUSIVE_EXCLUSIVE 将要显示的文本样式的约束规则,Androiddoc上是说既不包括左边也不包括右边,但是从实际结果来看包左不包右 spannableString.setSpan(new ForegroundColorSpan(Color.parseColor("#576b95")), 2,bean.getReplyUserName().length()+2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); holder.tv_commentcontent.setText(spannableString);//文本控件显示文本