本文实例讲述了Android TextView实现带链接文字事件监听的三种常用方式。分享给大家供大家参考,具体如下:
创新互联一直在为企业提供服务,多年的磨炼,使我们在创意设计,全网营销推广到技术研发拥有了开发经验。我们擅长倾听企业需求,挖掘用户对产品需求服务价值,为企业制作有用的创意设计体验。核心团队拥有超过10多年以上行业经验,涵盖创意,策化,开发等专业领域,公司涉及领域有基础互联网服务德阳服务器托管、重庆APP开发、手机移动建站、网页设计、网络整合营销。
/** * TextView实现文字链接跳转功能 * @description: * @author ldm * @date 2016-4-21 下午4:34:05 */ public class TextViewLinkAct extends Activity { private TextView tv_3; private TextView tv_4; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.link); setTextViewLink(); } /** * 通过不同方式实现TextView中文字点击链接跳转功能 * * @description: * @author ldm * @date 2016-4-21 下午4:24:13 */ private void setTextViewLink() { // 以Html格式href链接方式实现跳转 tv_3 = (TextView) findViewById(R.id.text3); tv_3.setText(Html .fromHtml("text3: Constructed from HTML programmatically. Text with a " + "link " + "created in the Java source code using HTML.")); tv_3.setMovementMethod(LinkMovementMethod.getInstance()); // 通过SpannableString的setMovementMethod方法实现链接效果 SpannableString ss = new SpannableString( "text4: Manually created spans. Click here to dial the phone."); ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); ss.setSpan(new URLSpan("tel:4155551212"), 31 + 6, 31 + 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); tv_4 = (TextView) findViewById(R.id.text4); tv_4.setText(ss); tv_4.setMovementMethod(LinkMovementMethod.getInstance()); } }
布局文件
<?xml version="1.0" encoding="utf-8"?>
其中通过在而已代码中android:autoLink属性的选项目有:none(无链接效果),web(网页链接),email(发邮件),phone(打电话),map(定位)及all(默认全都自动链接)。
更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》
希望本文所述对大家Android程序设计有所帮助。