其他分享
首页 > 其他分享> > android-在活动中使用GlSurfaceview

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