转于:http://orgcent.com/android-textview-no-underline-hyperlink/
----------------------------------------------------------------------------------------------
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); <span style="color: red;">//去掉下划线</span>
}
@Override
public void onClick(View widget) {
processHyperLinkClick(text); <span style="color: red;">//点击超链接时调用</span>
}
}
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); <span style="color: red;">//去掉下划线</span>
}
@Override
public void onClick(View widget) {
processHyperLinkClick(text); <span style="color: red;">//点击超链接时调用</span>
}
}
2、把超链接文本封装为NoLineClickSpan对象,并添加到TextView中
TextView tv = findViewById(R.id.tv_click);
SpannableString spStr = new SpannableString("萝卜白菜博客-->http://orgcent.com");
ClickSpan clickSpan = new NoLineClickSpan(vo); //设置超链接
spStr.setSpan(clickSpan, 0, str.length(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE);
tv.append(spStr);
tv.setMovementMethod(LinkMovementMethod.getInstance());
SpannableString spStr = new SpannableString("萝卜白菜博客-->http://orgcent.com");
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使用TextView实现无下划线超链接的方法。分享给大家供大家参考,具体如下: Android系统默认把网址、电话、地图(geo地址)、邮箱等转换为超链接。 具体请查看 android:TextView简单设置文本样式...
TextView中的超链接可以通过几种方式实现:1.Html.fromHtml,2.Spannable,3.Linkify.addLinks。下面分别进行测试,包括修改字体样式,下划线样式,点击事件等,需要的朋友可以参考下
TextView超链接自定义样式,包含自定义字体颜色和去掉超链接下划线
TextView部分文字设置成超链接,通过Intent启动另一个Activity,隐藏了下划线,自定义颜色。
一个TextView超链接启动Activity的小例子,默认会出现下划线在例子里面已经去掉并且可以自定义字体的颜色,本站以前也介绍过一个Android例子源码20多种TextView文字效果例子http://www./source/3640.html如有需要...
各种TextView的文字显示效果,真心好用,调整文字大 小 粗 颜色 下划线 角标 超链接等等,很实用。
本例子演示了给TextView中的字体设置:百度超链接,电话, 邮件, 短信, 彩信, 地图, 背景色, 前景色, 正常、 粗体、 斜体、 粗斜体、下划线、 删除线、 上标、 下标 、 点击跳转、 设置字体、 字体大小等 ...
1、自定义TextView,采用富文本属性进行内容设置attributedText(包括下划线NSUnderlineStyleSingle、超链接NSLinkAttributeName 、颜色NSForegroundColorAttributeName 等信息) 2、实现代理方法textView:...
java版直播间源码Android-开发资源 我关于 Android 开发和其他相关主题的书签的随机列表,随时更新 使用从 Chrome 中提取,然后在 ...TextView无下划线超链接| 软盘。 从...获得 [11] android - 如何设置 autoL
安卓实现关键字加红,点击字体打电话,textview斜体,电商删除线,绿色下划线,图片(表情,图文混排) 先看实例图 一,后台控制搜索关键字加红 1,后台写好对应html,后台负责显示什么颜色 txtInfo.setText( ...
MarkdownParser ... 待办事项:我们需要使用来实现它。 我需要探索这个。 我们欢迎您的贡献:) 例子 因此,以下副本: val markdown = " Some text is **bold**. While some text is _italic_. Other is __u