سؤال

لدي glsurfaceview مع رسم قابلة للرسمية كخلفية ، ولكن الخلفية فقط مرئية عند تقديمها بدون surfaceview.setzorderontop (صحيح)

أحتاج إلى تجنب استخدام SetZorderontop (صحيح) لأنه يتم استخدام TextView ثابت في أعلى GLSurfaceView.

أي اقتراحات للحصول على هذا العمل؟

هل كانت مفيدة؟

المحلول

Glsurfaceview لا يمكن أن يكون لها خلفية. الطريقة التي يعمل بها المنظر السطحي عن طريق قطع ثقب من خلال نافذة نشاطك وإظهار سطح آخر خلفه. يؤدي تعيين SetZorderontop (TRUE) إلى نقل السطح فوق نافذة النشاط.

نصائح أخرى

خاطئة! يمكنك أن تفعل ذلك. مجرد مثال لإظهار كيف يعمل.

glRenderer  = new OpenGLRenderer(context);
view = new GLSurfaceView(context);
view.setEGLConfigChooser(8, 8, 8, 8, 16, 0);
view.setRenderer(glRenderer);
view.getHolder().setFormat(PixelFormat.RGBA_8888);
view.getHolder().setFormat(PixelFormat.TRANSLUCENT);
view.setRenderMode(GLSurfaceView.RENDERMODE_CONTINUOUSLY);

ثم استخدم FramElayout لوضع طريقة عرض ضمن GlsurfaceView!

جرب setzordermediaoverlay (true) ؛ والتي يجب أن تضع طبقة GL فوق الخلفية ولكن أسفل النافذة.

حسنًا ، نظرًا لأن GLSurfaceView هو مجرد طريقة عرض أخرى ، فلماذا لا تستخدم FrameLayout لوضع GLSurfaceView أعلى صورة ImageView (أو أي شيء تستخدمه لعرض السحب.)

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top