时间:2021-05-20
Android实现TextView超链接一共有五种方式:推荐第四种、第五种
autoLink属性一共有六个值,分别是none(正常),web(将文本识别为一个网址),phone(将文本识别为一个电话号码),mail(将文本识别为一个邮件地址),map(这个,呃,该怎么表述呢?会打开地图应用),all(根据文本自动识别)。一般情况下我们设置为all即可,我们看看,这个时候它就会自动将TextView中的电话号码、邮件地址、网页链接等识别出来,这中方式是最简单的一种。如:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:autoLink="all" android:text=" android:textSize="16dp" />我们知道TextView可以直接显示转换后的HTML,那么借助H5开发经验,我们知道网页中的超链接也可以在TextView中打开,如下:
只要我们写好协议,这个其实也很简单。
tv1.setText(Html.fromHtml("<a href='tel:18565554482'>打电话</a>,<a href='smsto:18565554482'>发短信</a>,<a href='mailto:584991843@qq.com'>发邮件</a>,<a href='http://"), 12, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //SpannableString对象设置给TextView tv3.setText(ss); //设置TextView可点击 tv3.setMovementMethod(LinkMovementMethod.getInstance());
设置单一效果:
// Setup single spanSpannableTextView tv1 = (SpannableTextView) view.findViewById(R.id.tv1); Span span1 = new Span.Builder("ForegroundSpan, BackgroundSpan, and CustomTypefaceSpan") .foregroundColor(R.color.purple_500) .backgroundColor(R.color.green_500) .typeface(mItalicFont) .build(); tv1.setFormattedText(span1);设置多重效果叠加:
// Setup multiple spansSpannableTextView tv2 = (SpannableTextView) view.findViewById(R.id.tv2); List<Span> spans1 = new ArrayList<>();spans1.add(new Span.Builder("ForegroundSpan") .foregroundColor(R.color.red_500) .build());spans1.add(new Span.Builder("BackgroundSpan") .backgroundColor(R.color.yellow_500) .build());spans1.add(new Span.Builder("ForegroundSpan and BackgroundSpan") .foregroundColor(R.color.orange_500) .backgroundColor(R.color.blue_500) .build());spans1.add(new Span.Builder("ForegroundSpan, BackgroundSpan, and CustomTypefaceSpan") .foregroundColor(R.color.green_500) .backgroundColor(R.color.indigo_500) .typeface(mRegularFont) .build()); tv2.setFormattedText(spans1);实现无下划线超链接:
自定义的urlspan 继承URLSpan 去掉下划线
//自定义urlspan 去掉下划线 public class URLSpanNoUnderline extends URLSpan { public URLSpanNoUnderline(String url) { super(url); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); ds.setColor(Color.BLACK); } }本文主要为大家介绍了5种方式实现Android TextView超链接源码实例,更多关于Android实现TextView超链接的文章请查看下面的相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
本文实例讲述了Android使用TextView实现无下划线超链接的方法。分享给大家供大家参考,具体如下:Android系统默认把网址、电话、地图(geo地址)
本文实例讲述了android:TextView简单设置文本样式和超链接的方法。分享给大家供大家参考,具体如下:设置TextView中文本的样式(如:颜色、斜体等
本文实例讲述了Android编程开发之TextView单击链接弹出Activity的方法。分享给大家供大家参考,具体如下:话不多说直接上码:核心源码:packa
在web页面中,有a标签的超链接实现跳转,同样在Android当中,用TextView控件来显示文字,实现它的事件来跳转。用过微博Android手机端的朋友的都
在textView添加超链接,有两种方式,第一种通过HTML格式化你的网址,一种是设置autolink,让系统自动识别超链接。代码如下:第一种复制代码代码如下: