0

我有一个分配有渲染器的 GLSurfaceView。在这个视图中,我绘制的图像与我要求在其上绘制的位置相比似乎向左偏移。自从我从基于 Canvas 的渲染(将图像渲染到正确的位置)切换到 OpenGL 1.0 渲染后,这个问题才出现,而 OpenGL 1.0 没有。

我已经阅读了我的代码,并没有发现任何可能导致这种情况的东西。令我沮丧的是,我知道我使用代码设置的位置没有问题,但问题仍然存在。

现在,这是最好的部分。当我通过按主页按钮暂停应用程序,然后通过任务管理器重新启动应用程序时,位置是固定的并且正是它们应该是的位置,这让我相信问题不在于我使用设置的位置我的代码,但是我如何设置我的表面视图。我检查了 onSurfaceChanged() 参数中的尺寸,却发现它们总是应有的样子,这让我更加困惑。

有谁知道可能导致此问题的原因是什么?

4

1 回答 1

1

在深入研究了我的项目之后,我发现我是根据之前onSurfaceChangedonSurfaceCreated方法中调用的 GLSurfaceView 的尺寸设置位置,因此此时视图的宽度/高度为 0,这会影响我的对象在屏幕。

我现在真的觉得自己很傻。

于 2013-09-01T13:39:12.440 回答