android Canvas可以绘制SpannableString文本吗?
唯一可行的方法是Canvas#drawText(CharSequence...),因为它是唯一的接收文本作为参数的方法,由 String 和 SpannableString 实现。CharSequence
当它绘制时,我什么也没有得到,只有空白。
编辑:
我设法写了SpannableString
但是跨度消失了。我猜这个方法不适合这个目的。
android Canvas可以绘制SpannableString文本吗?
唯一可行的方法是Canvas#drawText(CharSequence...),因为它是唯一的接收文本作为参数的方法,由 String 和 SpannableString 实现。CharSequence
当它绘制时,我什么也没有得到,只有空白。
编辑:
我设法写了SpannableString
但是跨度消失了。我猜这个方法不适合这个目的。
据我所知,SpannableString
只实现CharSequence
接口。当在 中使用时TextView
,它会检查是否存在input instanceof SpannableString
,如果存在,它会像那样绘制它。如果没有,它只绘制简单的文本。
我一直在尝试在我们的游戏中实现类似的行为TextView
,但没有任何乐趣。所以我最终实现了类似的东西,在List
. 这些定义了文本和样式。然后我有一个方法StyledText.draw(Canvas)
,它通过List
,使用Canvas.drawText( ... )
来绘制每个文本。它处理定位和创建/修改Paint
.