1

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

我在 ViewFlipper 中有一个 surfaceView 对象。当 ViewFlipper 向左或向右移动到新的“页面”时,前一页的 SurfaceView 将保留在 LCD 上。有点期待。

这是问题。有没有办法解决这个问题,即使是粗略的方式?例如,当 ViewFlipper 开始移动时,是否可以将 surfaceView 设置为不可见之类的?

SurfaceView 绝对适合我的需求,并且已经解决了除了这个剩下的问题之外的所有问题。任何想法,将不胜感激。谢谢。

4

2 回答 2

1

要使 SurfaveView 透明(不可见),您可以在将其渲染到屏幕之前在画布对象上调用它:

canvas.eraseColor(Color.TRANSPARENT);

我希望这有帮助。

于 2012-08-20T10:02:08.547 回答
0

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

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

于 2016-02-01T04:55:21.850 回答