[AndroidTips]android中TextView分段显示不同颜色,字体,时间
http://hi.baidu.com/miky%D1%EE_1987/blog/item/b55dfe1462a1ec10314e152c.html
?
代码如下:
attrs.xml文件:
第二种方式:
?String newMessageInfo = "<font color='red'><b>" + 红色内容
??? ??? ??? ??? + "</b></font>TextView学习显示不同颜色";
? mTextView.setTextView(Html.fromHtml(newMessageInfo));
?
例子3:
SpannableString ss = new SpannableString( "红色打电话粗体删除线绿色下划线图片:.");
? ?? ???ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
? ?? ???ss.setSpan(new URLSpan("tel:4155551212"), 2, 5,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
? ?? ???ss.setSpan(new StyleSpan(Typeface.BOLD), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
? ?? ???ss.setSpan(new StrikethroughSpan(), 7, 10,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
? ?? ???ss.setSpan(new UnderlineSpan(), 10, 16,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
? ?? ???ss.setSpan(new ForegroundColorSpan(Color.GREEN), 10, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
? ?? ???Drawable d = getResources().getDrawable(R.drawable.icon48x48_1);
? ?? ???d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
? ?? ???ImageSpan span = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
? ?? ???ss.setSpan(span, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
? ?? ???TextView t4 = (TextView) findViewById(R.id.text4);
? ?? ???t4.setText(ss);
? ?? ???
? ?? ???t4.setMovementMethod(LinkMovementMethod.getInstance());
???????
例子4:
TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。