shk*_*kim 7 android background opengl-es transparent
可能重复:
Android OpenGL ES透明背景
我想在普通的2d ui布局屏幕上显示一些3d对象.
2d ui屏幕具有背景图像,GLSurfaceView是内容布局的子项.
我在ApiDemos样本中尝试了相同的Translucent GLSurfaceView技术,
但GLSurfaceView清除所有并显示黑色背景.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/my_background_image"
>
...
<android.opengl.GLSurfaceView android:id="@+id/glview"
android:layout_width="fill_parent"
android:layout_height="300px"
android:windowIsTranslucent="true" (i'm not sure this is right)
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
setContentView(R.layout.main);
...
glview = (GLSurfaceView) findViewById(R.id.glview);
glview.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
glview.getHolder().setFormat(PixelFormat.TRANSLUCENT);
glview.setRenderer(this);
...
gl.glClearColor(0, 0, 0, 0);
...
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可以保留底层背景图像吗?
P.M*_*lch 25
这解决了我:
glview = (GLSurfaceView)findViewById(R.id.glview);
glview.setEGLConfigChooser(8,8,8,8,16,0);
glview.setRenderer(new MyRenderer(this));
glview.getHolder().setFormat(PixelFormat.TRANSLUCENT);
// this made it work for me - works only from sdk level 6 on, though....
glview.setZOrderOnTop(true);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
11217 次 |
最近记录: |