在片段上渲染Google地图时的黑色视图

时间:2013-02-24 06:18:47

标签: android google-maps google-maps-api-2 slidingmenu

我在Android上使用滑动菜单是link,当我在渲染的地图片段上滑动时,滑动菜单变为空白。

这是我的地图片段代码。

public class BasicMapActivity extends SherlockFragment {
    private MapView mMapView;
    private GoogleMap mMap;

    @Override
    public View onCreateView(LayoutInflater inflater, 
                             ViewGroup container,
                             Bundle savedInstanceState) {
        View view = inflater.inflate(R.layout.basic_demo, null);
        // view.setBackgroundColor(0x00000000);
        mMapView = (MapView) view.findViewById(R.id.map);
        container.requestTransparentRegion(mMapView);
        mMapView.onCreate(savedInstanceState);
        return view;
    }
}

这是我的家庭活动,我在其中渲染地图。

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    setContentView(R.layout.activity_home_frame);
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.home_screen, new BasicMapActivity())
            .commit();


    getSlidingMenu().setSecondaryMenu(
            getLayoutInflater().inflate(R.layout.resq_events_frame, null));
    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.resq_events_screen, new EventsFragment())
            .commit();

    // set the Behind View
    setBehindContentView(R.layout.activity_settings_frame);

    getSupportFragmentManager()
            .beginTransaction()
            .replace(R.id.settings_screen, new SettingsFragment())
            .commit();

    // customize the SlidingMenu
    getSlidingMenu().setTouchModeAbove(SlidingMenu.TOUCHMODE_FULLSCREEN);
}

我的XML文件看起来像这样

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/home_screen"
    android:layout_width="match_parent"
    android:layout_height="match_parent">        
</FrameLayout>

如何克服这个问题?

这是图像的外观。

enter image description here

1 个答案:

答案 0 :(得分:0)

问题归因于谷歌地图,您必须将此地图:setzOrderOnTop =“true”添加到您的XML地图布局,例如

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" >

    <fragment
        android:name="com.google.android.gms.maps.SupportMapFragment"
        xmlns:map="http://schemas.android.com/apk/res-auto"         
        android:id="@+id/map" 
        android:layout_width="match_parent" 
        android:layout_height="match_parent"
        map:zOrderOnTop="true" />

</LinearLayout>