关闭

给TextView添加超链接的四种方式

标签: android开发TextView超链接
10217人阅读 评论(1) 收藏 举报
分类:

因为在上上篇博客中介绍了SpannableString的使用(SpannableString使用详解),由此想到给TextView添加超链接究竟有多少种方式?经过个人总结,现在一共发现四种,如果还有其他方式欢迎大家补充,下面我就介绍一下我总结出来的四种方式。

1.直接在xml文件中配置autoLink属性

autoLink属性一共有六个值,分别是none(正常),web(将文本识别为一个网址),phone(将文本识别为一个电话号码),mail(将文本识别为一个邮件地址),map(这个,呃,该怎么表述呢?会打开地图应用),all(根据文本自动识别)。一般情况下我们设置为all即可,我们看看,这个时候它就会自动将TextView中的电话号码、邮件地址、网页链接等识别出来,这中方式是最简单的一种。

2.使用HTML语言

我们知道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://www.baidu.com'>Go百度</a>"));
		tv1.setMovementMethod(LinkMovementMethod.getInstance());

只要我们写好协议,这个其实也很简单。

3.在strings.xml中直接写HTML,然后在TextView的xml中直接引用即可

strings.xml中的定义如下:

<string name="tv4"><a href='tel:18565554482'>打电话</a>,<a href='smsto:18565554482'>发短信</a>,<a href='mailto:584991843@qq.com'>发邮件</a>,<a href='http://www.baidu.com'>Go百度</a></string>

TextView的XML定义如下:

    <TextView
        android:id="@+id/tv4"
        android:layout_width="match_parent"
        android:layout_height="48dp"
        android:gravity="center"
        android:text="@string/tv4"
        android:textSize="24sp" >
    </TextView>
然后只需要在Activity中设置该TextView为可点击状态即可:

tv4.setMovementMethod(LinkMovementMethod.getInstance());

4.使用SpannableString实现超链接

关于spannableString的详细使用参见SpannableString使用详解,我们这里就再次重复一下使用spannableString实现超链接功能:

		SpannableString ss = new SpannableString("打电话,发短信,发邮件,Go百度");
		ss.setSpan(new URLSpan("tel:18565554482"), 0, 3,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		ss.setSpan(new URLSpan("smsto:18565554482"), 4, 7,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		ss.setSpan(new URLSpan("mailto:584991843@qq.com"), 8, 11,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		ss.setSpan(new URLSpan("http://www.baidu.com"), 12, 16,
				Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
		tv3.setText(ss);
		tv3.setMovementMethod(LinkMovementMethod.getInstance());
四种方式,哈哈,都很简单吧。


Demo下载http://download.csdn.net/detail/u012702547/9284351

8
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android如何通过TextView实现超链接的跳转

前段时间在开发群里看到有人问android的TextView该如何自定义超链接的跳转,如:有字符串“使用该软件,即表示您同意该软件的使用条款和隐私政策”,现希望当点击“使用条款”或“隐私政策”时可以跳...
  • u010933680
  • u010933680
  • 2016-09-02 20:26
  • 8909

TextView使部分文字具有超链接(或点击)功能

主要对TextView中的部分字符串进行处理,使之具有点击效果,而且可以对该部分字符串颜色大小进行设置等。
  • liuweiweiwei
  • liuweiweiwei
  • 2017-03-15 22:30
  • 1204

Android中实现TextView超链接五种方式

一共有五种方式:推荐第四种、第五种 1. 直接在xml文件中配置autoLink属性(简单易用,效果单一) autoLink属性一共有六个值,分别是none(正常),web(将文本识别为一个网址),p...
  • lyankj
  • lyankj
  • 2016-07-11 17:04
  • 6239

android:TextView中的文本链接之--链接的几种方式

在TextView中使用超级连接有几种方式:       1.TextView设置:  autoLink:一共有几种值:web,phone, map, email, all, none.分别是...
  • zhangzhikaixinya
  • zhangzhikaixinya
  • 2012-07-06 17:45
  • 14203

android实现超链接的3中方法

1.通过SpannableString设置超链接:   通过SpannableString来实现的,核心方法是: setSpan (Object what, int start, int end, i...
  • qq496380369
  • qq496380369
  • 2015-10-26 20:49
  • 2404

android html超链接文本 点击跳转的两种实现

TextView tips = (TextView) findViewById(R.id.text); String str = "单击打开 百度首页"; tips.setText(Html...
  • ID19870510
  • ID19870510
  • 2015-12-22 14:00
  • 6658

android 为TextView的部分文字设置超链接样式并监听点击事件

android 为TextView的部分文字设置超链接样式并监听点击事件
  • centralperk
  • centralperk
  • 2015-09-11 11:24
  • 7344

Android string.xml中使用html标签

Android开发在string.xml文件中设置部分字体颜色大小 一、使用HTML 方法1、使用 CDATA(推荐) [html] view plain copy s...
  • cwcwj3069
  • cwcwj3069
  • 2016-09-27 16:44
  • 2676

android通过设置文字超链接启动activity

  • 2014-07-15 22:15
  • 1.46MB
  • 下载

android中实现文字的超链接的应用内跳转

实现像新浪微博那样的文字中有蓝色超链接,点击后跳转到应用里面的指定页面。 首先自定义一个touchListerner: /** * Created by App-Dev on...
  • cjh13267196337
  • cjh13267196337
  • 2016-07-07 17:40
  • 645
    个人资料
    • 访问:1779112次
    • 积分:18146
    • 等级:
    • 排名:第603名
    • 原创:320篇
    • 转载:1篇
    • 译文:2篇
    • 评论:933条
    更多JavaEE资料请关注公众号
    博客专栏
    最新评论