我有一个GLSurfaceView,并为其分配了一个渲染器。在这个视图中,我绘制的图像似乎偏向左侧,而不是我要求它们在上面绘制的图像。这个问题出现了,因为我从基于Canvas的渲染切换到OpenGL 1.0渲染,而渲染时,图像处于正确的位置,而不是。
我已阅读了我的代码,并且发现绝对没有任何可能导致此问题的内容。让我感到沮丧的是,我知道我使用我的代码设置的位置没有任何问题,但问题仍然存在。
现在,这是最好的部分。当我按下主页按钮暂停应用程序,然后通过任务管理器重新启动应用程序时,位置是固定的,并且它们应该是应该如何,这使我相信问题不在于我设置的位置我的代码,但是我如何设置表面视图。我已经检查了onSurfaceChanged()参数中的维度,发现它们总是应该是这样,这让我更加困惑。
有谁知道可能导致此问题的原因是什么?
答案 0 :(得分:1)
经过我的项目挖掘后,我发现在onSurfaceChanged
方法调用onSurfaceCreated
之前,我根据GLSurfaceView的尺寸设置位置,因此视图的宽度/高度这一点为0,影响了我的对象在屏幕上的位置。
我现在感觉真的很蠢。