2012-12-12 32 views
2

有沒有辦法使用MapFragmentSupportMapFragment,將DialogFragment作爲彈出窗口顯示,與用於顯示DatePicker的方式相同? 我想建立它讓用戶從地圖上選擇一個LatLng。我不想將MapFragment直接放入表單中,因爲它被ScrollView包裹。感謝可能的解決方案。MapFragment in DialogFragment

+0

您可以在自定義用戶界面中使用AlertDialog。這將解決,我認爲是。 – Guna

+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(); 

還可以導入在v4.support庫的片段類,如果你想從1.6版本兼容性向上。使用支持庫的一個缺點是,您還必須使用支持庫中的dialogfragment。這可能會產生層疊效應,要求在動態使用dialogfragment時,片段庫必須來自支持庫。如果你已經使用後蜂窩現代android庫,你將無法混合使用支持庫。

如果您的應用程序已經在使用支持庫,則一切正常。但情況可能並非如此。如果你屬於這個類別,那麼你想使用mapview而不是mapfragment。只需在xml中創建一個佈局(例如framelayout),然後在代碼中動態地將一個新的mapview實例添加到此佈局中。