2012-07-21 68 views
1

从我读过的内容我不相信SurfaceView可以动画,但我会问这个问题:SurfaceView Animation

我在ViewFlipper中有一个surfaceView对象。当ViewFlipper左右移动到一个新的“页面”时,上一页中的SurfaceView保留在LCD上。预计的那种。

这是问题。有什么办法可以解决这个问题,即使是粗暴的方式?例如,当ViewFlipper开始移动时,surfaceView可以变得不可见或者是什么?

SurfaceView对我的需求绝对完美,并解决了除这一个剩余问题之外的所有问题。任何想法,将不胜感激。谢谢。

回答

1

为了使SurfaveView透明(不可见),您可以将其渲染到屏幕前,你的画布对象上调用此:

canvas.eraseColor(Color.TRANSPARENT); 

我希望这有助于。

0

如果您使用ViewFlipper,我想您可能需要设置自己的手势。 因此,您可以清理并停止Gesture中的所有SurfaceView动画作业。 (我的意思是你需要停止&重新启动你的绘图Thread by Gesture。)

但是ViewPager和V4.Fragment是更好的解决方案。因为Fragment可以回收SurfaceView。我不知道Fragment是否可以在ViewFlipper中工作,但我只是在ViewPager + V4.Fragment + SurfaceView中完成了我的工作。所以我相信它的工作。