2

android Canvas可以绘制SpannableString文本吗?

唯一可行的方法是Canvas#drawText(CharSequence...),因为它是唯一的接收文本作为参数的方法,由 String 和 SpannableString 实现CharSequence

当它绘制时,我什么也没有得到,只有空白。

编辑:

我设法写了SpannableString但是跨度消失了。我猜这个方法不适合这个目的。

4

1 回答 1

0

据我所知,SpannableString只实现CharSequence接口。当在 中使用时TextView,它会检查是否存在input instanceof SpannableString,如果存在,它会像那样绘制它。如果没有,它只绘制简单的文本。

我一直在尝试在我们的游戏中实现类似的行为TextView,但没有任何乐趣。所以我最终实现了类似的东西,在List. 这些定义了文本和样式。然后我有一个方法StyledText.draw(Canvas),它通过List,使用Canvas.drawText( ... )来绘制每个文本。它处理定位和创建/修改Paint.

于 2012-11-19T15:03:26.127 回答