本文实例讲述了Android使用TextView实现无下划线超链接的方法。分享给大家供大家参考,具体如下:

Android系统默认把网址、电话、地图(geo地址)、邮箱等转换为超链接。
具体请查看 android:TextView简单设置文本样式和超链接的方法

和HTML中的一样,默认超链接都带下划线的,下面的方案可以在TextView中去掉超链接的下划线:

1、重写ClickableSpan类来去掉下划线样式(系统默认使用ClickableSpan来封装超链接)

//无下划线超链接,使用textColorLink、textColorHighlight分别修改超链接前景色和按下时的颜色private class NoLineClickSpan extends ClickableSpan {  String text;  public NoLineClickSpan(String text) {    super();    this.text = text;  }  @Override  public void updateDrawState(TextPaint ds) {    ds.setColor(ds.linkColor);    ds.setUnderlineText(false); //去掉下划线  }  @Override  public void onClick(View widget) {    processHyperLinkClick(text); //点击超链接时调用  }}

2、把超链接文本封装为NoLineClickSpan对象,并添加到TextView中

TextView tv = findViewById(R.id.tv_click);SpannableString spStr = new SpannableString("脚本之家-->//www.jb51.net");ClickSpan clickSpan = new NoLineClickSpan(vo); //设置超链接spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);tv.append(spStr);tv.setMovementMethod(LinkMovementMethod.getInstance());

PS:不用把TextView的属性autoLink设为”all”.

3、设置超链接为可点击状态

tv.setMovementMethod(LinkMovementMethod.getInstance());

PS:在NoLineClickSpan类中实现onClick()回调方法.

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android多媒体操作技巧汇总(音频,视频,录音等)》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

更多相关文章

  1. [置顶] 我的Android进阶之旅------>Android中解析XML 技术详解--
  2. [置顶] android面试大宝典
  3. Android系统设计中的设计模式分析之一
  4. Android中的音频播放(MediaPlayer和SoundPool)
  5. Your Android(安卓)SDK is missing, out of date or corrupted
  6. Android(安卓)GLSurfaceView
  7. OkHttp源码深度解析
  8. Android超详细环境搭建方法!
  9. android 中判断WiFi是否可用的可靠方法 ,android 是否联网

随机推荐

  1. MixtureTextView 支持Android图文混排、
  2. android判断应用是否有某个权限
  3. Android中读取短信信息
  4. Android输入法遮挡问题的解决思路
  5. android : 如何通过provider向外共享数据
  6. android中的提示信息显示方法(toast应用)
  7. Android属性(property)机制
  8. android 驱动文件权限设置
  9. Many PC buyers are still untapped pote
  10. android设置Spinner字体颜色,格式,大小