如何在GLSurfaceView上强制调用onDrawFrame()?

时间:2011-10-04 13:51:54

标签: android opengl-es glsurfaceview

我有一个显示多边形的GLSurfaceView的UI。

UI还有两个按钮ZoomIn和ZoomOut。当用户按下这些按钮时,会调用myGLSurfaceView的zoomIn()和zoomOut()方法。

问题是我希望调用onDrawFrame方法来反映放大&进行。

为什么我要这个?因为按钮有setClickable(true);为什么?因为我需要,如果用户离开手指按下按钮,则连续应用缩放get,直到用户释放按钮。

现在它可以工作,但它工作不好,我需要刷新GLsurfaceview强制onDrawFrame

2 个答案:

答案 0 :(得分:7)

致电gLSurfaceView.requestRender()。这将(来自链接):

  

请求渲染器渲染帧。当渲染模式设置为RENDERMODE_WHEN_DIRTY时,通常使用此方法,以便仅按需渲染帧。可以从任何线程调用。在设置渲染器之前不得调用。

答案 1 :(得分:-12)

解决了使用线程和手指的按下/释放事件