总结起来大概有5种做法: 
1. 将要处理的文字写到一个资源文件,如string.xml(使用html用法格式化)   2. 当文字中出现URL、E-mail、电话号码等的时候,可以将TextView的android:autoLink属性设置为相应的的值,如果是所有的类型都出来就是android:autoLink="all"当然也可以在java代码里 做,textView01.setAutoLinkMask(Linkify.ALL);    3. 用 Html类的fromHtml()方法格式化要放到TextView里的文字 ,与第1种一样,只是是用代码动态设置   4. 设置TextView的Paint属性:tvTest.getPaint().setFlags(Paint. UNDERLINE_TEXT_FLAG ); //下划线
5. 用Spannable或实现它的类,如SpannableString来格式部分字符串。    另外附上一篇博客介绍:Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性     如果是在资源文件里: 1、字符串资源中设置下划线属性
<resources>    <string name="hello"><u>phone:0123456>string>    <string name="app_name">MyLinkstring>resources>
直接让TextView引用字符串资源的name即可。

2、TextView设置autoLink属性
<TextView xmlns:android="http://schemas.android.com/apk/res/android"       android:id="@+id/text1"     android:layout_width="match_parent"       android:layout_height="match_parent"       android:autoLink="all"       android:text="@string/link_text_auto"  />  

 

如果是代码里:
1、使用Html.fromHtml()
TextView textView = (TextView)findViewById(R.id.tv_test); textView.setText(Html.fromHtml(""+"0123456"+""));

2、使用TextView的Paint的属性
tvTest.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG); //下划线tvTest.getPaint().setAntiAlias(true);//抗锯齿

3、使用SpannableString类
SpannableString content = new SpannableString(str);content.setSpan(new UnderLineSpan, 0, str.length(), 0);

代码里面自定义超链接样式:
TextView tv=new TextView(this);tv.setText(Html.fromHtml("自定义的超链接样式"));// 在单击链接时凡是有要执行的动作,都必须设置MovementMethod对象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//设置前景色为红色     }      tv.setText(style);   }

另外一篇文章中有几个具体的实例可以参考:
http://hunankeda110.iteye.com/blog/1420470

更多相关文章

  1. Android那些事儿之自定义进度条
  2. Android(安卓)xml 中@和问号?等解释
  3. Android中Tweened animation简介
  4. Android键盘适配-中英文适配
  5. android中自定义ViewGroup的实现
  6. Android中自定义ListView无法响应OnItemClickListener中的onItem
  7. android:weight属性的使用——android开发之xml布局文件
  8. Android软件开发之盘点自定义View界面大合集(二)
  9. Android(安卓)Material Design 系列之 TextInputLayout 使用详解

随机推荐

  1. Mac 下 下载Android源码步骤
  2. android分享功能的实现
  3. 【android入门】之Android中设置全屏的方
  4. android presentation实现双屏异显
  5. Android热更新之dx工具jar转换dex
  6. 安装Eclipse ADT插件时遇到的问题
  7. Android仿qq下拉刷新及向左滑动列表----P
  8. Android(安卓)TextView 添加下划线的简单
  9. 安卓截图笔记
  10. ActivityGroup使用问题