首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

[AndroidTips]android中TextView分段展示不同颜色,字体,时间

2012-07-08 
[AndroidTips]android中TextView分段显示不同颜色,字体,时间http://hi.baidu.com/miky%D1%EE_1987/blog/it

[AndroidTips]android中TextView分段显示不同颜色,字体,时间

http://hi.baidu.com/miky%D1%EE_1987/blog/item/b55dfe1462a1ec10314e152c.html

?


代码如下:

[AndroidTips]android中TextView分段展示不同颜色,字体,时间

attrs.xml文件:

[AndroidTips]android中TextView分段展示不同颜色,字体,时间

第二种方式:

?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());

??????? [AndroidTips]android中TextView分段展示不同颜色,字体,时间

例子4:

TextView是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。
效果图:?
[AndroidTips]android中TextView分段展示不同颜色,字体,时间


Activity代码:
?public?class?TextViewLinkActivity?extends?Activity?{???????TextView?myTextView;???????@Override??????public?void?onCreate(Bundle?savedInstanceState)?{???????????super.onCreate(savedInstanceState);???????????setContentView(R.layout.main);???????????myTextView?=?(TextView)?this.findViewById(R.id.myTextView);??????????????????????//创建一个?SpannableString对象??????????SpannableString?sp?=?new?SpannableString("这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体.");???????????//设置超链接??????????sp.setSpan(new?URLSpan("http://www.baidu.com"),?5,?7,???????????????????Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);???????????//设置高亮样式一??????????sp.setSpan(new?BackgroundColorSpan(Color.RED),?17?,19,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);???????????//设置高亮样式二??????????sp.setSpan(new?ForegroundColorSpan(Color.YELLOW),20,24,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);?????????????//设置斜体??????????sp.setSpan(new?StyleSpan(android.graphics.Typeface.BOLD_ITALIC),?27,?29,?Spannable.SPAN_EXCLUSIVE_INCLUSIVE);???????????//SpannableString对象设置给TextView??????????myTextView.setText(sp);???????????//设置TextView可点击??????????myTextView.setMovementMethod(LinkMovementMethod.getInstance());???????}???}

热点排行