所以,我终于想出了自己。

public class MyHtmlTagHandler implements TagHandler {

public void handleTag(boolean opening, String tag, Editable output,

XMLReader xmlReader) {

if(tag.equalsIgnoreCase("strike") || tag.equals("s")) {

processStrike(opening, output);

}

}

private void processStrike(boolean opening, Editable output) {

int len = output.length();

if(opening) {

output.setSpan(new StrikethroughSpan(), len, len, Spannable.SPAN_MARK_MARK);

} else {

Object obj = getLast(output, StrikethroughSpan.class);

int where = output.getSpanStart(obj);

output.removeSpan(obj);

if (where != len) {

output.setSpan(new StrikethroughSpan(), where, len, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);

}

}

}

private Object getLast(Editable text, Class kind) {

Object[] objs = text.getSpans(0, text.length(), kind);

if (objs.length == 0) {

return null;

} else {

for(int i = objs.length;i>0;i--) {

if(text.getSpanFlags(objs[i-1]) == Spannable.SPAN_MARK_MARK) {

return objs[i-1];

}

}

return null;

}

}

}

如果有人需要它。

干杯

android tag的使用方法,Android:如何使用Html.TagHandler?相关推荐

  1. android tag的使用方法,Android setTag方法的key问题解决办法

    android在设计View类时,为了能储存一些辅助信息,设计一个一个setTag/getTag的方法.这让我想起在Winform设计中每个Control同样存在一个Tag. 今天要说的是我最近学习a ...

  2. android颜色值的表示方法android:background=#FFFFFFFF的意思

    android颜色值的表示方法 android:background="#FFFFFFFF"的意思 Android中的颜色值是通过红(Red).绿(Green).蓝(Blue)三原 ...

  3. android 矢量图片使用方法,Android中的矢量图

    概述 VectorDrawable是通过XML文件中的一系列点,线和曲线及其相关颜色信息定义的. 使用VectorDrawable的主要优点是图像可扩展性. 它可以缩放而不损耗显示质量,这意味着相同的 ...

  4. Android解析xml的方法,Android中解析XML格式数据的方法

    XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...

  5. android中的add方法,Android中Fragment怎么addView?

    慕勒3428872 Fragment是Android honeycomb 3.0新增的概念,在Android--Fragment介绍.AndroidFragment使用.Android Fragmen ...

  6. android的反调试方法,Android平台融合多特征的APP反调试方法与流程

    本发明涉及Android平台融合多特征的APP反调试方法,属于计算机与信息科学技术领域. 背景技术: 应用程序本身并不具备反调试的功能,但是动态调试是动态分析应用逻辑.动态脱壳等攻击方式所采取的必要手 ...

  7. android 开启子线程方法,android中开启子线程

    AndroidRuntime(673): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example/ ...

  8. android 设置全屏方法,Android中设置全屏的方法

    在开发中,我们经常需要把我们的应用设置为全屏,这里有两种方式: 一是在代码中设置; 二是在配置文件中设置 一. 在代码中设置 public class BaseActivity extends Act ...

  9. android toolbar的使用方法,Android中Toolbar的基本使用

    Android的标题栏是很重要的一个模块,App是否易用很大一部分要看标题栏.写这个博客的时候刚发现谷歌推出了一种新的标题栏实现方式. 它相对于以前的ActionBar来说,最大的变化是开发者可以在标 ...

最新文章

  1. Java中的低级错误
  2. 安全操作中心之于SDN
  3. Docker(三):Dockerfile 命令详解
  4. HCNA(012-211) 试题解析
  5. swagger接口文档使用
  6. easyui java管理系统_EasyUI 后台管理系统
  7. windows下修改host不生效的解决方法
  8. python中eval函数作用
  9. 《炬丰科技-半导体工艺》衬底温度对ZnO薄膜的结构和光学特性的影响
  10. Unity MasterServer主服务器
  11. 2018高中计算机会考时间,2018年高中会考什么时候考哪些科目
  12. 逆水寒服务器维护能进游戏吗,逆水寒7月12日几点可以进游戏 逆水寒更新维护公告...
  13. 微信小程序进度条样式_详解微信小程序——自定义圆形进度条
  14. 次世代游戏建模技巧全解之制作高模篇
  15. DC 不支持P2V或者V2P的虚拟化转换
  16. java hasnext_Java扫描仪的hasNext()方法与示例
  17. Android应用设置系统情景模式
  18. input text 默认值设置
  19. 5G NR SUL CA DC对比
  20. 360°全景影像切片和POI管理

热门文章

  1. pythonjam怎么运行_第二十四天 PYTHON学习
  2. linux脚本登录启动失败,linux-从bash脚本启动进程失败
  3. 在matlab中怎么录制音频_怎么录制淘宝页面中的视频?简单方法,轻松搞定
  4. android button自定义样式详解,Android自定义格式显示Button的布局思路
  5. 康力电梯开门不关门 服务器显示开门键动作,康力电梯门机故障代码
  6. lisp方格网法计算土方量_CAD土方软件方格网法与三角网法相结合,准确计算土方量...
  7. 【图像超分辨率】Deep Learning for Multiple-Image Super-Resolution
  8. 计算机408考研专题(建议收藏)
  9. 快放弃你的管家软件吧! Part 2 强制删除
  10. 数学--数论-- HDU6298 Maximum Multiple 打表找规律