我已经制作了一个 View 实现 GLSurfaceView.Renderer 并实现了 onDrawFrame 函数。我要求像这样渲染:
@Override
public void postInvalidate()
{
super.postInvalidate();
requestRender();
}
这个视图是由另一个视图添加的,它可以工作(绘制我想要的)。但我想在另一个视图中使用 GLSurfaceView.Renderer,所以我在第一个视图中将其删除并将其添加到第二个视图中,如下所示
m_oMapView = FirstView.getMapView();
FirstView.remove();//oo
SecondView = (RelativeLayout) findViewById(R.id.mapview);
SecondView.addView(m_oMapView,new RelativeLayout.LayoutParams(RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.FILL_PARENT));
m_oMapView.refreshDrawableState();
m_oMapView.findViewWithTag("map").bringToFront();
在我将它添加到secondView之后,requestRender似乎不起作用,我强制调用,但是ondrawFrame函数永远不会执行。requestRender之后没有调用ondrawFrame有什么原因吗?