Извините за мой английский.
Моя работа основана на https://github.com/harism/android_page_curl/.
После многих часов исследований я нашел несколько решений, но не для всех проблем, которые у меня есть в моем приложении. У меня проблемы с GLSurfaceView. У меня есть фон с относительным макетом, GLSurfaceView и наложением сверху.
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/background"
android:layout_width="match_parent"
android:background="@layout/backgroundrepeat"
android:layout_height="match_parent">
<com.m2y.foxprez.view.CurlView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/openglview"
android:layout_width="match_parent"
android:layout_height="match_parent"/>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/overlay"
android:layout_width="match_parent"
android:layout_height="match_parent">
</RelativeLayout>
When I init my view :
setEGLConfigChooser(8,8,8,8,16,0);
setRenderer(renderer);
getHolder().setFormat(PixelFormat.TRANSLUCENT);
setRenderMode(GLSurfaceView.RENDERMODE_WHEN_DIRTY);
setZOrderMediaOverlay(true);
В моем рендерере:
public void onSurfaceCreated(GL10 gl, EGLConfig config) {
gl.glClearColor(0f, 0f, 0f, 0f);
gl.glShadeModel(GL10.GL_SMOOTH);
gl.glHint(GL10.GL_PERSPECTIVE_CORRECTION_HINT, GL10.GL_NICEST);
gl.glHint(GL10.GL_LINE_SMOOTH_HINT, GL10.GL_NICEST);
gl.glHint(GL10.GL_POLYGON_SMOOTH_HINT, GL10.GL_NICEST);
gl.glEnable(GL10.GL_LINE_SMOOTH);
gl.glDisable(GL10.GL_DEPTH_TEST);
gl.glDisable(GL10.GL_CULL_FACE);
}
public synchronized void onDrawFrame(GL10 gl) {
gl.glClearColor(0f,0f,0f,0f);
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
gl.glLoadIdentity();
}
После нескольких исследований я в настоящее время заблокирован с этим результатом:
с setZOrderOnTop у меня есть фон, но оверлей находится под видом.
с setZOrderMediaOverlay у меня есть оверлей, но фон черный.
Кто-нибудь может мне помочь?