2016-08-03 66 views
0

基本上我试图对已绘制的画布进行更改。有一部分会根据用户输入而改变。重新绘制整个画布需要太多时间,所以我正在考虑使用相同的视图和持有人制作单独的画布,并只画出在画布顶部更改的项目。我正在绘制的位图似乎完全消除了之前绘制的画布。任何方式在这个?Android:有没有使用辅助画布在现有画布上绘制的方法?

要问一个更简单的问题,我需要能够在不擦除它的情况下在现有视图(在这种情况下为surfaceview)的顶部绘图。

回答

0

这没什么意义,因为Canvas实例是一个通过视图层次结构自上而下传播的实例。如果您只想刷新自定义视图的一部分,则可以使用诸如view.invalidate(Rect)view.invalidate(left, top, right, bottom)等方法。

+0

基本上我只需要能够在现有视图的顶部绘制,而不会擦除下面的内容。 – jagrakye

+0

您可以创建一个额外的视图来覆盖现有的视图。这可以通过使用“FrameLayout”或“RelativeLayout”来包装它们来实现。你所需要做的就是引用这个新视图。 –

+0

好的,也许我正在推翻它。谢谢! – jagrakye