与Google地图集成的透明ActionBar紧凑型抽屉

时间:2014-02-09 18:27:46

标签: android google-maps google-maps-android-api-2 android-actionbar-compat

当我在 Android 2.x 上使用 ActionBarCompat + GoogleMaps 时,导航抽屉有一种奇怪的行为问题并不完全隐藏GoogleMap导航抽屉打开时的片段。

您可以在下一个屏幕上看到的正常应用程序状态。导航抽屉已关闭,并显示GoogleMaps。

Normal state. Drawer closed

当我打开抽屉时,您可以在屏幕下方看到只有缩放按钮,谷歌标签和找到我的按钮被隐藏。

invalid behavior

我有一个相反的屏幕行为,我会截取屏幕截图。截图时,android刷新所有视图,我看到有效视图。

valid behavior

您可以下载项目here

顺便说一句,应用程序在Android 4.x上运行良好。该问题仅在Android 2.x

上发生

1 个答案:

答案 0 :(得分:1)

问题可能与以下事实有关:在Android 4.0及以下使用SurfaceView时,在Android 4.1及以上版本中有TextureView

在我的演示项目中,我通过在View上覆盖透明的SupportMapFragment来修复它:

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/main_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <View
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <ListView
        android:id="@+id/list"
        android:background="@android:color/black"
        android:layout_width="300dp"
        android:layout_height="match_parent"
        android:layout_gravity="left" />
</android.support.v4.widget.DrawerLayout>

您可能会看到它是如何运作的here