android TextView 结合SpannableString对部分内容设置颜色、字体、超链接、图片

 
  1. //android TextView、EditText对部分内容设置颜色、字体、超链接、图片;   
  2.     //这里是以一个TextView为例子,EditText的设置方法和TextView一样  
  3.     //ss.setSpan 的第一个参数是CharacterStyle的子类,用以设置字体样式 
  4.     //TextView对象  
  5.     TextView txtInfo = new TextView(this);  
  6.   
  7.     //文本内容  
  8.     SpannableString ss = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");  
  9.   
  10.     //设置0-2的字符颜色  
  11.     ss.setSpan(new ForegroundColorSpan(Color.RED), 02,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  12.   
  13.     //设置2-5的字符链接到电话簿,点击时触发拨号  
  14.     ss.setSpan(new URLSpan("tel:4155551212"), 25,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  15.       
  16.     //设置9-11的字符为网络链接,点击时打开页面  
  17.     ss.setSpan(new URLSpan("http://www.hao123.com"), 911,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  18.   
  19.     //设置13-15的字符点击时,转到写短信的界面,发送对象为10086  
  20.     ss.setSpan(new URLSpan("sms:10086"), 1315,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  21.   
  22.     //粗体  
  23.     ss.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 57,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  24.   
  25.     //斜体  
  26.     ss.setSpan(new StrikethroughSpan(), 710,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  27.   
  28. <pre name="code" class="java">    //下划线  
  29.     ss.setSpan(new UnderlineSpan(), 1016,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);  
  30.   
  31. <pre name="code" class="java"><pre name="code" class="java">    //以下代码是在指定位置插入图片  
  32.     Drawable d = getResources().getDrawable(R.drawable.icon);  
  33.   
  34.     //设置图片大小  
  35.     d.setBounds(00, d.getIntrinsicWidth(), d.getIntrinsicHeight());  
  36.   
  37.     //插入的位置  
  38.     ss.setSpan(new ImageSpan(d, ImageSpan.ALIGN_BASELINE), 1819, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);  
  39.   
  40.     //设置文本内容到textView  
  41.     txtInfo.setText(ss);  
  42.   
  43.     //不添加这一句,拨号,http,发短信的超链接不能执行.  
  44.     txtInfo.setMovementMethod(LinkMovementMethod.getInstance());  

你可能感兴趣的:(android,网络,sms,电话)