导航抽屉谷歌地图v2,地图阻止抽屉

Boj*_*jan 17 android google-maps-android-api-2 navigation-drawer

我在姜饼上打开抽屉时有这个问题,后面是google map v2.应该在屏幕后面的地图是最重要的.

现在我可以通过在抽屉打开时隐藏地图并在关闭时显示它来绕过这个但是我正在寻找更优雅的解决方案,如果有人提出任何?

地图覆盖导航抽屉

Rom*_*man 13

只需使用FrameLayout包装SupportMapFragment并将透明View放在上面,如下所示:

<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" />
Run Code Online (Sandbox Code Playgroud)

经过Android 4.0.4测试 - 对我来说很好


Mal*_*asz 7

谷歌地图api v2和黑色空间有一个错误.也许你有类似的问题.有关解决方案,请访问:https: //github.com/jfeinstein10/SlidingMenu/issues/228 此处:https: //github.com/jfeinstein10/SlidingMenu/issues/168

据我记得,解决方案就是其中之一:

  • 扩展Google地图并使其更频繁地重绘每个视图
  • 将top param上的map的z索引设置为true
  • 将透明叠加层放在Google地图视图上

  • 将透明覆盖放在Google地图视图上,适合我. (2认同)

小智 6

我在ICS 4.0.4上遇到了同样的问题.jfeinstein10的github帖子中提到的解决方案似乎对我不起作用.但我找到了一个解决方法,即使它不是最好的.

创建DrawerToggle对象时,我会覆盖此事件

@Override
public void onDrawerSlide(View drawerView, float slideOffset)
{
     super.onDrawerSlide(drawerView, slideOffset);
     mDrawerLayout.bringChildToFront(drawerView);
     mDrawerLayout.requestLayout();
     mDrawerLayout.setScrimColor(Color.TRANSPARENT);

}
Run Code Online (Sandbox Code Playgroud)

bringChildToFront和requestLayout方法应该克服抽屉渲染问题,而setScrimColor将摆脱阴影.太糟糕了,我还没有找到一个解决方法来正确渲染阴影.希望这可以帮助.