我想创建可以修改内容的Span。因此,例如我需要绘制没有前3个和后4个字符的文本。我试图使用Replacable span:
class ItalicReplacement extends ReplacementSpan {
@Override
public int getSize(Paint paint, CharSequence text, int start, int end, Paint.FontMetricsInt fm) {
paint.setTextSkewX(-0.25f);
return (int) paint.measureText(text, start + 3, end - 4);
}
@Override
public void draw(Canvas canvas, CharSequence text, int start, int end, float x, int top, int y, int bottom, Paint paint) {
paint.setTextSkewX(-0.25f);
canvas.drawText(text, start + 3, end - 4, x, y, paint);
}
}
但是可替换的span作为图像绘制。不是文字。所以,我不能将它作为常规文本使用。主要问题是包装(http://i.stack.imgur.com/LXJUj.png)。
那么,还有其他方法可以做我想要的吗?例如,我想做只显示域的可点击的剧透或网址。可能其他* Span可以做到吗?