android-在活动中使用GlSurfaceview
作者:互联网
我有一个Activity,并且将Activity的内容视图设置为“ R.layout.main.xml”.还有另一个类,其中包含使用openGL创建的动画.现在,我需要在“活动”的背景中使用此动画.
代码是这样的
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_pixie);
mGLView = new ClearGLSurfaceView(this);
setContentView(mGLView);
}
但是我的应用正在崩溃..我该如何解决.
解决方法:
第二次调用setContentView()时,将替换第一次设置的内容,只剩下背景.崩溃很可能是因为您依赖于已删除的主布局中的元素.
您应该在主布局中包含GLSurfaceView,而不是两次调用setContentView().以下是如何完成此操作的示例:
<?xml version="1.0" encoding="UTF-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent>
<your.application.package.ClearGLSurfaceView
android:layout_width="match_parent"
android:layout_width="match_parent"/>
<!--put the rest of your layout here, i.e the contents of the original R.layout.main_pixie-->
</FrameLayout>
然后,您可以像往常一样在onCreate()中加载此布局(main_pixie_new指的是上述xml,我只是给了该名称以使内容尽可能清晰):
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main_pixie_new);
}
标签:opengl-es,android-view,glsurfaceview,android 来源: https://codeday.me/bug/20191101/1986481.html