Mon application Android est une application OpenGL ES 2.0 en plein écran, donc le contenu principal est une extension personnalisée de GLSurfaceView. La mise en page d'activité ressemble à ceci:DrawerLayout ListView non dessiné avec GLSurfaceView en tant que contenu
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/drawer_layout">
<FrameLayout android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<ListView android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111" />
</android.support.v4.widget.DrawerLayout>
Je puis ajouter mon GLSurfaceView en utilisant la méthode addView du FrameLayout. Si je ne fais pas cela, le tiroir fonctionne comme prévu. Le ListView semble être retiré correctement lorsque je l'ai glissé, car je ne peux plus interagir avec le GLSurfaceView jusqu'à ce que je le glisse à gauche vers la gauche. Mais il n'est pas affiché du tout, comme le GLSurfaceView est toujours rendu dessus.
Comment puis-je faire fonctionner un DrawerLayout avec un GLSurfaceView comme contenu?
Vous monsieur ont gagné votre réputation, fonctionne à merveille! Une note rapide pour les personnes qui ajoutent dynamiquement leur 'GL View': il suffit de le placer en arrière-plan lors de l'ajout au' ViewGroup' avec un index. Comme ceci: 'myRelativeLayout.addView (myGlView, 0);' – avalancha