【问题标题】:MapFragment in DialogFragmentDialogFragment 中的 MapFragment
【发布时间】:2013-07-24 12:15:56
【问题描述】:

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

【问题讨论】:

  • 您可以将 AlertDialog 与自定义 UI 一起使用。这会解决的,我想是的。
  • 您的建议正在付诸实践。谢谢。

标签: android android-dialogfragment mapfragment


【解决方案1】:

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

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 实例添加到这个布局中。

【讨论】:

    猜你喜欢
    • 2012-11-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多