New UI-为TextView设置超链接跳转的三个方法
来源:互联网 发布:手机淘宝5.10.3旧版本 编辑:程序博客网 时间:2024/06/08 06:06
New UI-为TextView设置超链接跳转的三个方法
主要介绍的是如何为TextView设置超链接,跳转到浏览器,短信,拨号界面等
方法分别用三种:
①使用SpannableString来实现
②使用autoLink属性来实现
③使用HTML的<a>标签来实现
那么开始本节的内容!
本节正文:
1.通过SpannableString设置超链接:
通过SpannableString来实现的,核心方法是:
setSpan (Object what, int start, int end, int flags)
主要看start与end,一个是字符的起始下标,从0开始算,end则是结束为止,
包含起始位置,而不包含结束位置的字符哦!另外中英文都算一个字符!
示例代码如下:
import android.app.Activity;import android.os.Bundle;import android.text.SpannableString;import android.text.Spanned;import android.text.method.LinkMovementMethod;import android.text.style.URLSpan;import android.view.Menu;import android.view.MenuItem;import android.widget.TextView;public class MainActivity extends Activity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);TextView textView=(TextView)findViewById(R.id.textView);SpannableString mSpanableString=new SpannableString("百度搜索,拨打电话,发送短信,发送彩信,发送邮件,打开地图");mSpanableString.setSpan(new URLSpan("http://www.baidu.com"), 0, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//百度链接mSpanableString.setSpan(new URLSpan("tel:10086"), 5, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//电话mSpanableString.setSpan(new URLSpan("sms:10086"), 10, 14, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//短信mSpanableString.setSpan(new URLSpan("mms:10086"), 15, 19, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//彩信mSpanableString.setSpan(new URLSpan("mailto:10086@163.com"), 20, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//邮箱mSpanableString.setSpan(new URLSpan("geo:38.899533,-77.036476"), 25, 29, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);//地图 textView.setMovementMethod(LinkMovementMethod.getInstance()); //设置超链接 (需要添加setMovementMethod方法附加响应)通过方法LinkMovementMethod去调用实际的响应 textView.setText(mSpanableString); }}
运行截图:
2.通过XML中的autoLink属性来设置:
除了上面这种方法外,我们还可以在XML通过autoLink属性来设置不同类型的超链接,用法如下:
all就是全部都包含,自动识别协议头~
在Java代码中可以调用setAutoLinkMask(Linkify.ALL);
这个时候可以不写协议头,autolink会自动识别,但是需要设置:
setMovementMethod(LinkMovementMethod.getInstance());
不然点击了是不会跳转的~
3.通过HTML中的<a>超链接来设置:
还有一种,就是通过html的<a>超链接标签,代码如下:
- //注意这里必须加上协议号,即http://。否则,系统会以为该链接是activity,而实际这个activity不存在,程序就崩溃。
- String html ="<a href='http://www.baidu.com'>百度一下</a>";
- CharSequence charSequence = Html.fromHtml(html);
- txtShow.setText(charSequence);
- txtShow.setMovementMethod(LinkMovementMethod.getInstance());
0 0
- New UI-为TextView设置超链接跳转的三个方法
- New UI-为TextView设置超链接跳转的三个方法
- TextView:超链接的样式与跳转
- 为TextView设置滚动的方法
- 设置TextView中文字的超链接
- TextView设置超链接的那些坑
- android 为TextView的部分文字设置超链接样式并监听点击事件
- 为 TextView 的部分文字设置超链接样式并监听点击事件
- android 为TextView的部分文字设置超链接样式并监听点击事件
- [Android]TextView设置超链接
- TextView设置超链接
- TextView中设置超链接
- 无下划线TextView超链接跳转
- New UI-带边框的TextView
- New UI-带阴影的TextView
- New UI-带图片(drawableXxx)的TextView
- Fragment点击Textview的超链接跳转网页报错
- Android如何通过TextView实现超链接的跳转
- HttpServletRequest常用获取URL相关的方法
- 电子或通信领域当前的主流技术及其社会需求调查报告
- forget mysql pw problem
- 详解D3D/OpenGL光栅化(1)
- 【指导】git 日志长度、日志开头、tag 命名的 hook 部署(gerrit ref-update)
- New UI-为TextView设置超链接跳转的三个方法
- ListView 属性详解 参考1
- Android数据存储五种方式总结
- mysql随机查询若干条数据
- 电子或通信领域当前的主流技术及其社会需求调查报告
- IIS添加WCF支持
- android横竖屏切换和布局的问题
- 杭电Phone List1671
- 能不能整除