我使用Canvas.drawText()
自定义了View
来绘制SpannableString
s。Android Canvas采用SpannableString绘制文本
当文本包含我制作的表情符号(我不喜欢默认样式的表情符号)时,我打电话给SpannableString.setSpan()
。 我发现Canvas.drawText()
没有画出我设定的范围,而是绘制了默认样式的表情符号。 我试图呼叫TextView.setText()
通过相同的SpannableString
,它的工作原理。 我想使用Canvas
来绘制文字的性能(否则,新的几个TextView
s滚动ListView
导致性能严重问题)。如何通过Canvas
绘制SpannableString
?
对不起,我不是母语的人。感谢您的提前!
编辑:其实我做了这个自定义View
为了显示文字转换的动画。几个文本将水平穿过屏幕。我遇到的问题是TextView
的绘制方法会导致太多时间,动画看起来很糟糕。所以我想直接使用Canvas
来绘制文本。不幸的是,我切换到StaticLayout
,仍然发现动画是生涩。
@pskink它仍然在某些情况下慢。我使用'drawText'和'drawBitmap'来代替。它工作,但我不知道我的解决方案是否优雅。 –