Android中的TextView,本身就支持部分的Html格式标签。这其中包括常用的字体大小颜色设置,文本链接等。使用起来也比较方便,只需要使用Html类转换一下即可。比如:
textView.setText(Html.fromHtml(str));
然而,有一种场合,默认支持的标签可能不够用。比如,我们需要在textView中点击某种链接,返回到应用中的某个界面,而不仅仅是网络连接,如何实现?
经过几个小时对android中的Html类源代码的研究,找到了解决办法,并且测试通过。
先看Html类的源代码中有这样一段:
这里定义了一个接口,接口用于什么呢?
再继续看代码,看到对Html的tag进行解析部分的代码:
可以看到,如果不是默认的标签,会调用mTagHandler的handleTag方法。所以,我们可以实现此接口,来解析自己定义的标签类型。
再看一段我实现的对<game>标签进行解析的示例代码:
上面这段代码,是对<game>…</game>的自定义标签进行解析。
具体调用方法:
textView.setText(Html.fromHtml(“点击<game>这里</game>跳转到游戏”,
null, new GameTagHandler()));
textView.setClickable(true);
textView.setMovementMethod(LinkMovementMethod.getInstance());
运行后,能够看到文本中的字符串“这里”带了超链接,点击链接后,GameSpan类的onClick()方法被调用。就可以在这个方法中进行跳转了。
分享到:
相关推荐
本篇文章是对在Android中为TextView增加自定义HTML标签的方法进行了详细的分析介绍。需要的朋友参考下
Android流式TextView,类似文字标签。
Android自定义TextView链接点击和长按事件
博客地址 http://blog.csdn.net/bhadx520?viewmode=list
一个自定义的android的翻转textview,效果很不错的
Android 为textView增加边框效果,这又是一个初级的Android文字布局示例,今天是为TextView文字框增加一个外边框,可实现在画布上画边框的功能,在填充方面,你还可使用不透明的9.png和透明的9.png,带边框的...
Android自定义TextView实现动态的文字效果
各种TextView用法,包括带动画,字体样式,自定义字体,弹幕,标签等等。
TextView超链接自定义样式,包含自定义字体颜色和去掉超链接下划线
支持TextView默认支持的所有标签,支持自定义,取代安卓默认的Html.TagHandler 特性 支持TextView默认支持的标签 支持自定义标签,接口类似Html.TagHandler 1 自定义标签: /** * 解析哈哈哈 */ public class ...
Android中为TextView添加超链接的代码清单.pdf 学习资料 复习资料 教学资源
通过自定义view的方式实现增强textView的功能(删除,下拉选择)
android TextView android TextView
在项目中使用Emoji表情,通过自定义textview能够实现表情包在输入框中展示
通过textview设置状态选择
android自定义横向跑马灯TextView(两种,即使一个字符也能跑马灯)
android TextView 支持CSS样式
自定义的可折叠的文本显示控件(自定义View)