实现下划线及颜色设置:
设置超链接样式:默认的超链接是蓝色的,我们现在设置成前景红色
public class AtActivity extends Activity { LinearLayout ll; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ll=(LinearLayout)findViewById(R.id.ll); TextView tv=new TextView(this); tv.setText(Html.fromHtml("自定义的超链接样式")); tv.setMovementMethod(LinkMovementMethod.getInstance()); CharSequence text = tv.getText(); if (text instanceof Spannable){ int end = text.length(); Spannable sp = (Spannable)tv.getText(); URLSpan[] urls = sp.getSpans( 0 , end, URLSpan.class ); SpannableStringBuilder style = new SpannableStringBuilder(text); style.clearSpans(); // should clear old spans for (URLSpan url : urls){ URLSpan myURLSpan= new URLSpan(url.getURL()); style.setSpan(myURLSpan,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); style.setSpan(new ForegroundColorSpan(Color.RED), sp.getSpanStart(url), sp.getSpanEnd(url), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);//设置前景色为红色 } tv.setText(style); } ll.addView(tv); tv=new TextView(this); tv.setText(Html.fromHtml("默认的超链接样式")); tv.setMovementMethod(LinkMovementMethod.getInstance()); ll.addView(tv); } }