我正在创建一个自定义警报对话框,其中显示了一张 map 。 map 是使用 supportMapFragment(下面的代码)创建的,这是一个好的做法还是您会推荐 MapView?
Java 类:
public class NearbyUtil implements OnMapReadyCallback {
public static final String TAG = NearbyUtil.class.getSimpleName();
private Context ctx;
private GoogleMap map;
private android.support.v4.app.FragmentManager fragmentManager;
private SupportMapFragment mapFragment;
public NearbyUtil(Context context, android.support.v4.app.FragmentManager fragmentManager){
ctx = context;
this.fragmentManager = fragmentManager;
showDialog();
}
public void showDialog(){
final Dialog dialog = new Dialog(ctx);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.dialog);
dialog.show();
mapFragment = (SupportMapFragment) fragmentManager.findFragmentById(R.id.map);
mapFragment.getMapAsync(this);
//... other code
}
XML:
<fragment
android:id="@+id/map"
class="com.google.android.gms.maps.SupportMapFragment"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
最佳答案
如果您正在使用DialogFragment
,那么最好使用MapView
,否则您可以使用supportMapFragment
。
另一种方法是使用 supportMapFragment
创建一个 MapActivity
并添加 android:theme="@android:style/Theme.Dialog"
到 AndroidManifest
中的 MapActivity
,它将显示为 dialog
。
希望对你有帮助~
关于android - 在自定义警报对话框中显示 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43666777/