我想在android中的3d中旋转自己的FrameLayout.我是否必须使用GlSurfaceView类.我是计算机图形学的新手,但知道旋转和平移背后的理论.为了使3d opengl旋转,我们通常进行以下操作.

在活动类中,我们创建一个GLSurfaceView对象并设置其渲染器.从实现GlSurfaceView.Renderer接口的类创建Renderer对象.

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

GLSurfaceView view = new GLSurfaceView(this);

view.setRenderer(new OpenGLRenderer());

setContentView(view);

}

在我们的Renderer类中,我们使用以下方法进行绘图,旋转和平移

// Called when the surface is created or recreated.

public void onSurfaceCreated(GL10 gl, EGLConfig config)

// Called to draw the current frame.

public void onDrawFrame(GL10 gl)

// Called when the surface changed size.

public void onSurfaceChanged(GL10 gl, int width, int height)

但是我有一个自定义framelayout声明为

public class RotatedMapView extends FrameLayout

我想做这个:

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

RotatedMapView view = new RotatedMapView (this);

view.setRenderer(new OpenGLRenderer());

setContentView(view);

}

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐