Android TextView中文字设置超链接、颜色、字体

本文介绍了如何利用Spannable对象在Android应用中为TextView中的文本设置样式,包括颜色、背景色、斜体以及插入超链接,并通过示例代码展示具体实现过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

转载自:http://yezhiqiu-love-yeah-net.iteye.com/blog/1061073

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


Activity代码: 

 
  1. package  com.zhou.activity;   
  2.   
  3. import  android.app.Activity;   
  4. import  android.graphics.Color;   
  5. import  android.os.Bundle;   
  6. import  android.text.Spannable;   
  7. import  android.text.SpannableString;   
  8. import  android.text.Spanned;   
  9. import  android.text.method.LinkMovementMethod;   
  10. import  android.text.style.BackgroundColorSpan;   
  11. import  android.text.style.ForegroundColorSpan;   
  12. import  android.text.style.StyleSpan;   
  13. import  android.text.style.URLSpan;   
  14. import  android.widget.TextView;   
  15.   
  16. public   class  TextViewLinkActivity  extends  Activity {   
  17.     TextView myTextView;   
  18.      @Override   
  19.      public   void  onCreate(Bundle savedInstanceState) {   
  20.          super .onCreate(savedInstanceState);   
  21.         setContentView(R.layout.main);   
  22.         myTextView = (TextView)  this .findViewById(R.id.myTextView);   
  23.            
  24.          //创建一个 SpannableString对象   
  25.         SpannableString sp =  new  SpannableString( "这句话中有百度超链接,有高亮显示,这样,或者这样,还有斜体." );   
  26.          //设置超链接   
  27.         sp.setSpan( new  URLSpan( "http://www.baidu.com" ),  5  7 ,   
  28.                 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);   
  29.          //设置高亮样式一   
  30.         sp.setSpan( new  BackgroundColorSpan(Color.RED),  17  , 19 ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);   
  31.          //设置高亮样式二   
  32.         sp.setSpan( new  ForegroundColorSpan(Color.YELLOW), 20 , 24 ,Spannable.SPAN_EXCLUSIVE_INCLUSIVE);     
  33.          //设置斜体   
  34.         sp.setSpan( new  StyleSpan(android.graphics.Typeface.BOLD_ITALIC),  27  29 , Spannable.SPAN_EXCLUSIVE_INCLUSIVE);   
  35.          //SpannableString对象设置给TextView   
  36.         myTextView.setText(sp);   
  37.          //设置TextView可点击   
  38.         myTextView.setMovementMethod(LinkMovementMethod.getInstance());   
  39.     }   
  40. }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值