我需要创建一个自定义Span
来呈现其内容,如源代码。这是我想要实现的一个例子。假设我们有以下文本,其中我使用方括号注释了自定义范围的开头和结尾:
Some text [some\nmulti line\ntext] some more text
前缀(“Some text”)和后缀(“some some text”)应该正常呈现,但自定义span应该像代码块一样呈现:
some
multi line
text
我一直在考虑使用ReplacementSpan
,因为我以前用它来创建各种有趣的自定义跨度,但对于这种情况,我无法让它做我想要的。
我需要让我的跨度来渲染完整的图形块,占据容器的整个宽度。甚至可以这样做吗?
答案 0 :(得分:0)
Android处理多行跨行。
我发现的唯一方法是覆盖TextView.onDraw
,为每个块跨度组成块,然后在TextView.onDraw
之前(如果需要,则在之后)绘制它们。
还有特殊的BlockQuoteSpan。
您应确保每个块跨度以\n
开始和结束。