[已解决]我将此添加到MainActivity XML文件中:
<FrameLayout
android:id="@+id/place_map_here"
android:layout_height="match_parent"
android:layout_width="match_parent"/>
<FrameLayout
android:id="@+id/bugfixview"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:background="@android:color/transparent"/>
我改变了碎片的地方:
mapFragment = new FragmentMapView();
android.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.add(R.id.place_map_here, mapFragment, "map");
ft.commit();
编辑:刚才意识到我没有使用MapFragment xml文件。(旧版本很抱歉)
我已将Fragment更改为MapFragment,现在我的NavigationDrawer在MapFragment后面滑动:( 代码:
MapFragmant xml(已移除的代码)
MainActivity xml。这是我的抽屉声明
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<FrameLayout
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent" >
</FrameLayout>
<ListView
android:id="@+id/drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#333"
android:choiceMode="singleChoice"/>
</android.support.v4.widget.DrawerLayout>
</RelativeLayout>
我希望这是你需要像往常一样棒极了的信息,并帮助像我这样的新人:)
答案 0 :(得分:1)
试试这个hack它可能对你有所帮助,只需将你的布局改为:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1" >
<android.support.v4.widget.DrawerLayout
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- hack to fix ugly black Background with maps v2 -->
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent" />
</FrameLayout>
</LinearLayout>
答案 1 :(得分:0)
DrawerLayout需要是布局的根,因此请尝试删除RelativeLayout。我假设您将MapFragment附加到FrameLayout,main。
另外,你有什么api版本?我注意到api&lt; 10上有一些奇怪的图形错误,包括黑色边框和带有地图片段和抽屉的黑色闪烁背景。
答案 2 :(得分:0)
我们可以通过使用布局中地图片段下面的视图来解决在MapFragment后面的NavigationDrawer。
例如 -
<FrameLayout
android:id="@+id/root"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<fragment
android:id="@+id/map"
android:layout_width="match_parent"
android:layout_height="match_parent"
class="com.google.android.gms.maps.SupportMapFragment" />
<View
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent" />