I have this problem when opening drawer on gingerbread and behind is google map v2. Map that should be on screen behind gets on top of everything.
Now I could bypas
There is a bug with google maps api v2 and black space. Maybe you have got similar problem. For solutions look here: https://github.com/jfeinstein10/SlidingMenu/issues/228 and here: https://github.com/jfeinstein10/SlidingMenu/issues/168
As far as I remember solutions are one of this:
I have got the same problem here on ICS 4.0.4. The solutions mentioned in jfeinstein10's github post seems not working for me. But I have found a workaround, even it is not the best.
When creating DrawerToggle object I override this event
@Override
public void onDrawerSlide(View drawerView, float slideOffset)
{
super.onDrawerSlide(drawerView, slideOffset);
mDrawerLayout.bringChildToFront(drawerView);
mDrawerLayout.requestLayout();
mDrawerLayout.setScrimColor(Color.TRANSPARENT);
}
bringChildToFront and requestLayout method should overcome the drawer rendering problem while setScrimColor will get rid of the shadow. Too bad that I haven't found a workaround to render the shadow correctly as well. Hope this helps.
You should override the onDrawerSlide function and move the drawer to front
Toolbar toolbar = (Toolbar) findViewById(R.id.tool_bar);
DrawerLayout Drawer = (DrawerLayout) findViewById(R.id.DrawerLayout);
mDrawerToggle = new ActionBarDrawerToggle(this, Drawer, toolbar, R.string.openDrawer, R.string.closeDrawer) {
@Override
public void onDrawerSlide(View drawerView, float slideOffset)
{
super.onDrawerSlide(drawerView, slideOffset);
Drawer.bringChildToFront(drawerView);
Drawer.requestLayout();
Drawer.setScrimColor(Color.TRANSPARENT);
}
};
Just wrap SupportMapFragment with FrameLayout and put transparent View above like this:
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<!-- Map fragment -->
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
<!-- Transparent view -->
<View
android:layout_width="match_parent"
android:layout_height="match_parent" />
Tested with Android 4.0.4 - works fine for me