Fro*_*Lau 3 android canvas spannablestring
我做了一个自定义的View使用Canvas.drawText()得出一些SpannableString秒。
我SpannableString.setSpan()在文本包含我制作的表情符号时调用(我不喜欢默认样式的表情符号)。我发现Canvas.drawText()它没有绘制我设置的跨度,而是绘制了默认样式的表情符号。我试图TextView.setText()通过相同的方式调用SpannableString它并且它有效。我想用来Canvas绘制文本以提高性能(否则,TextView在滚动时更新几个sListView会导致严重的性能问题)。怎样绘制SpannableString用Canvas?
对不起,我的英语不好,我不是母语人士。感谢提前!
编辑:实际上我做了这个自定义View是为了显示文本转换的动画。几个文本将水平穿过屏幕。我遇到的问题是TextView's draw 方法导致时间太多,动画看起来很糟糕。所以我想直接使用Canvas. 可悲的是,我切换到StaticLayout并仍然发现动画很生涩。
您可以尝试将您的添加Spannable到 aStaticLayout并将其绘制到 a Canvas。
像这样的东西:
StaticLayout layout = new StaticLayout(yourSpannable, yourPaint,
yourCanvas.getWidth(), Alignment.ALIGN_NORMAL, 1, 0, false);
layout.draw(yourCanvas);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2219 次 |
| 最近记录: |