我一直都不清楚Spanned.SPAN_EXCLUSIVE_EXCLUSIVE、Spanned.SPAN_INCLUSIVE_EXCLUSIVE、Spanned.SPAN_EXCLUSIVE_INCLUSIVE、Spanned.SPAN_INCLUSIVE_INCLUSIVE这几个参数的含义,直到看到这位老兄的blog,
http://aichixihongshi.iteye.com/blog/1207503
我把关键部分摘抄如下:
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,这是在 setSpan 时需要指定的 flag,它的意义我试了很久也没试出来,睡个觉,今天早上才突然有点想法,试之,果然。它是用来标识在 Span 范围内的文本前后输入新的字符时是否把它们也应用这个效果。分别有 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)、Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前面包括,后面不包括)、Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,后面包括)、Spanned.SPAN_INCLUSIVE_INCLUSIVE(前后都包括)。看个截图就更明白了:
![](http://dl.iteye.com/upload/attachment/574419/af241334-006b-3802-9fbf-e9a2db760b3c.png)
对比一下
![](http://dl.iteye.com/upload/attachment/574421/baca6fa7-7f00-38a7-9f46-94fd6bcb2296.png)