作者:lenomon 发布:2011-11-22 14:19 分类:Android 阅读:15,002 11条评论

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
//无下划线超链接,使用textColorLink、textColorHighlight分别修改超链接前景色和按下时的颜色
private classNoLineClickSpan extendsClickableSpan {
Stringtext ;

publicNoLineClickSpan ( Stringtext ) {
super ( ) ;
this. text =text ;
}

@Override
public voidupdateDrawState (TextPaint ds ) {
ds. setColor (ds. linkColor ) ;
ds. setUnderlineText ( false ) ; <span style = "color: red;" > //去掉下划线</span>
}

@Override
public voidonClick ( Viewwidget ) {
processHyperLinkClick (text ) ; <span style = "color: red;" > //点击超链接时调用</span>
}
}


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

1
2
3
4
5
6
TextView tv =findViewById (R. id. tv_click ) ;
SpannableString spStr = newSpannableString ( "萝卜白菜博客--&gt;http://orgcent.com" ) ;
ClickSpan clickSpan = newNoLineClickSpan (vo ) ; //设置超链接
spStr. setSpan (clickSpan, 0, str. length ( ), Spanned. SPAN_INCLUSIVE_EXCLUSIVE ) ;
tv. append (spStr ) ;
tv. setMovementMethod (LinkMovementMethod. getInstance ( ) ) ;

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

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

1 tv. setMovementMethod (LinkMovementMethod. getInstance ( ) ) ;

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

转载请注明地址:http://orgcent.com/android-textview-no-underline-hyperlink/ | 萝卜白菜的博客

更多相关文章

  1. Android国际化快捷设置
  2. win7下修改AVD默认路径
  3. Android(安卓)Studio 配置模拟器AVD存放路径(默认在c盘,解决c盘空
  4. Android(安卓)Studio笔记(2)——快捷键
  5. Android(安卓)Studio 小技巧(2):AS中Button文字默认大写的问题
  6. MAC系统Android(安卓)Studio默认debug签名证书存储路径
  7. Android4.0:统一标准强行安装默认主题Holo
  8. Android(安卓)启动模拟器是出现“Failed to allocate memory: 8
  9. Android(安卓)Google Map(create md5, create google map key)

随机推荐

  1. Android(安卓)4.0 external下功能库说明
  2. Android(安卓): SeekBar 实现图片旋转缩
  3. Android中G-Sensor相关流程
  4. Android(安卓)SDK Android(安卓)NDK Andr
  5. Android原生的TTS(语音播报功能)
  6. 如何完全卸载Android(安卓)Studio并进行
  7. 浅析Binder(六)——Java服务启动
  8. Android开发--浅谈ExpandableListActivit
  9. Android报错之.android/repositories.cfg
  10. Android类库介绍