是否有使用MapFragment
或SupportMapFragment
的方法,将DialogFragment
扩展为弹出窗口,与用于显示DatePicker的方式相同?
我想构建它以让用户从地图中选择LatLng。我不想将MapFragment
直接放入表单中,因为它由ScrollView
包装。感谢您提供可能的解决方案。
答案 0 :(得分:1)
如果要将地图片段嵌入到对话框片段中,可以使用Android 4.2(第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库的片段类中导入。使用支持库的一个缺点是您还必须使用支持库中的dialogfragment。这可能具有级联效果,要求在动态使用dialogfragment时,片段库必须来自支持库。如果你使用post蜂窝现代android库,你将无法混合使用支持库。
如果您的应用已经在使用支持库,则一切正常。但情况可能并非如此。如果您属于此类别,则需要使用mapview而不是mapfragment。只需在xml中创建一个布局(例如framelayout),然后在代码中动态地将mapview的新实例添加到此布局中。