2

有没有办法使用 aMapFragment或 aSupportMapFragment扩展 aDialogFragment以显示为弹出窗口,与显示 DatePicker 的方式相同?我想构建它以让用户从地图中选择一个 LatLng。我不想将MapFragment直接放入表单中,因为它由ScrollView. 感谢您提供可能的解决方案。

4

1 回答 1

1

如果要将地图片段嵌入到对话框片段中,可以使用 Android 4.2 (ver 17) 中实现的嵌套片段功能。直接来自android 4.2 api 页面的示例:

Fragment videoFragment = new VideoPlayerFragment();
FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
transaction.add(R.id.video_fragment, videoFragment).commit();

如果您希望从 1.6 版本开始兼容,您也可以导入 v4.support 库的片段类。使用支持库的一个缺点是您还必须使用支持库中的对话框片段。这可能会产生级联效应,要求当您动态使用对话框片段时,片段库必须来自支持库。如果你已经使用了 posthoneycomb 现代 android 库,你将无法混合使用支持库。

如果您的应用程序已经在使用支持库,一切都很好。但情况可能并非如此。如果您属于此类别,那么您想使用 mapview 而不是 mapfragment。只需在 xml 中创建一个布局(例如 framelayout),然后在代码中动态地将一个新的 mapview 实例添加到这个布局中。

于 2013-07-24T04:15:56.253 回答