TextView中文字设置超链接、颜色、字体
如果文本超链接地址显示的是网址,则可以直接给对应的textview设置属性 autolink="web"(其实还可以设置很多)

PS:
自动识别链接:
<!-- android:autoLink="web"-设置自动识别链接,值web为匹配Web网址 -->
<!--android:autoLink="phone"-设置自动识别链接,值phone为匹配电话号码 -->
<!-- android:autoLink="email"-设置自动识别链接,值email为匹配Email地址 -->
<!-- android:autoLink="all"-设置自动识别链接,值all为匹配所有 -->
当然在清单文件里面要注册相对应的权限。
如果文本超链接地址显示的不是网址,就需要用到Spannable对象,可以借助Spannable对象实现以TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,功能强大。效果如下:
代码如下:
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 }