我正在开发一个需要在对话框中显示某些细节的地图的应用程序,因为我已经制作了自定义布局并使用了地图片段但是如何编写代码,意味着我对此一无所知,没有得到任何合适的教程或示例在对话框中显示地图。任何人都可以请我提供一些教程或代码。提前致谢。
这是我的custom_dialog.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:color/transparent" >
<RelativeLayout
android:id="@+id/relativeNavBar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/pop_up_header" >
<TextView
android:id="@+id/EditItem_MapTxtName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:textColor="@color/white"
android:textSize="18sp" />
</RelativeLayout>
<LinearLayout
android:id="@+id/relativeAutoComplete"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/relativeNavBar"
android:layout_marginTop="20dp"
android:orientation="vertical"
android:paddingLeft="10dp"
android:paddingRight="10dp" >
<fragment
android:id="@+id/map"
android:name="com.google.android.gms.maps.MapFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/EditItem_mapTxtDistance11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.25"
android:text="@string/distance"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/EditItem_mapTxtDistance"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.75"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/greyish"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/EditItem_mapTxtAddress11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.25"
android:text="@string/address"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/EditItem_mapTxtAddress"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.75"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/greyish"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/EditItem_mapTxtCity11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.25"
android:text="@string/city"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/EditItem_mapTxtCity"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.75"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/greyish"
android:textSize="14sp" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:orientation="horizontal" >
<TextView
android:id="@+id/EditItem_mapTxtZip11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.25"
android:text="@string/zip"
android:textColor="@color/black"
android:textSize="16sp"
android:textStyle="bold" />
<TextView
android:id="@+id/EditItem_mapTxtZip"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_marginTop="5dp"
android:layout_weight="0.75"
android:ellipsize="end"
android:singleLine="true"
android:textColor="@color/greyish"
android:textSize="14sp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:2)
您可以使用DialogFragment
在对话框中显示地图,该地图将在自定义布局的对话框中显示地图。
查看Tutorial
答案 1 :(得分:2)
转到android DialogFragments:Android Dialog Fragment。你会得到你需要的东西到这个Android开发者博客。
答案 2 :(得分:1)
复制并享受!
mDialogMaps = new Dialog(mContext);
mDialogMaps.requestWindowFeature(Window.FEATURE_NO_TITLE);
mDialogMaps.setContentView(R.layout.lay_dialog_map_location);
mDialogMaps.setCancelable(true);
WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams();
Window window = mDialogMaps.getWindow();
layoutParams.copyFrom(window.getAttributes());
layoutParams.width = WindowManager.LayoutParams.MATCH_PARENT;
layoutParams.height = WindowManager.LayoutParams.MATCH_PARENT;
window.setAttributes(layoutParams);
TextView txtNoteMapTitle = (TextView) mDialogMaps.findViewById(R.id.txtNoteMapTitle);
txtNoteMapTitle.setTypeface(G.fIranSansBold);
mMapView = (MapView) mDialogMaps.findViewById(R.id.mapView);
mMapView.onCreate(mDialogMaps.onSaveInstanceState());
mMapView.onResume();
mDialogMaps.show();