博客
关于我
Android TextView 添加下划线的几种方式
阅读量:447 次
发布时间:2019-03-06

本文共 1928 字,大约阅读时间需要 6 分钟。

小编推荐
  
 
总结起来大概有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来格式部分字符串。
   另外附上一篇博客介绍:
 
 
如果是在资源文件里:
1、字符串资源中设置下划线属性
phone:0123456
MyLink
直接让TextView引用字符串资源的name即可。 2、TextView设置autoLink属性

 

如果是代码里: 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 ForegroundColorSpan(0xFFFF0000), start, end, Spannable.SPAN_INCLUSIVE_INCLUSIVE);//设置前景色为红色
  }     tv.setText(style);  }
另外一篇文章中有几个具体的实例可以参考: 看完的顺手点歌赞呗,谢谢鼓励!

你可能感兴趣的文章
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>
MySQL中的ON DUPLICATE KEY UPDATE详解与应用
查看>>
mysql中的rbs,SharePoint RBS:即使启用了RBS,内容数据库也在不断增长
查看>>
mysql中的undo log、redo log 、binlog大致概要
查看>>
Mysql中的using
查看>>
MySQL中的关键字深入比较:UNION vs UNION ALL
查看>>
mysql中的四大运算符种类汇总20多项,用了三天三夜来整理的,还不赶快收藏
查看>>
mysql中的字段如何选择合适的数据类型呢?
查看>>
MySQL中的字符集陷阱:为何避免使用UTF-8
查看>>
mysql中的数据导入与导出
查看>>
MySQL中的时间函数
查看>>
mysql中的约束
查看>>
MySQL中的表是什么?
查看>>
mysql中穿件函数时候delimiter的用法
查看>>
Mysql中索引的分类、增删改查与存储引擎对应关系
查看>>
Mysql中索引的最左前缀原则图文剖析(全)
查看>>
MySql中给视图添加注释怎么添加_默认不支持_可以这样取巧---MySql工作笔记002
查看>>
Mysql中获取所有表名以及表名带时间字符串使用BetweenAnd筛选区间范围
查看>>
Mysql中视图的使用以及常见运算符的使用示例和优先级
查看>>