Android 如何在活动中显示弹出窗口?

Android 如何在活动中显示弹出窗口?,android,android-activity,android-fragments,google-maps-markers,google-maps-android-api-2,Android,Android Activity,Android Fragments,Google Maps Markers,Google Maps Android Api 2,嗨,伙计们,我的应用程序中有一个包含谷歌地图片段的活动,我想知道当我打开任何一个信息窗口时,是否有可能显示一个弹出窗口,其中包含关于那个地方的更多信息。有什么方法可以做到这一点吗?是的,可以在地图片段中创建窗口。但还是要清楚你的问题。你们需要在点击地图上某个地方时弹出窗口,还是需要弹出警告消息?具体点 您可以使用自定义对话框。创建扩展对话框类的对话框。然后重写所需的方法。在方法show()中,您可以扩大自己的布局并关联所需的操作。这是show()方法的一个小示例: 希望它能帮助你 您可以使用以下

嗨,伙计们,我的应用程序中有一个包含谷歌地图片段的活动,我想知道当我打开任何一个信息窗口时,是否有可能显示一个弹出窗口,其中包含关于那个地方的更多信息。有什么方法可以做到这一点吗?

是的,可以在地图片段中创建窗口。但还是要清楚你的问题。你们需要在点击地图上某个地方时弹出窗口,还是需要弹出警告消息?具体点

您可以使用自定义对话框。创建扩展对话框类的对话框。然后重写所需的方法。在方法show()中,您可以扩大自己的布局并关联所需的操作。这是show()方法的一个小示例:


希望它能帮助你

您可以使用以下代码创建自定义信息窗口,以使用自定义布局在地图标记上显示位置详细信息:

map.setInfoWindowAdapter(new InfoWindowAdapter() {

            @Override
            public View getInfoWindow(Marker marker) {

                View v = getLayoutInflater().inflate(R.layout.infowindow,
                        null);

                TextView txt_title = (TextView) v.findViewById(R.id.info_title);
                txt_title.setText(marker.getTitle());

                TextView txt_snippet = (TextView) v.findViewById(R.id.info_snippet);
                txt_snippet.setText(strSnippet);

                return v;

            }

            @Override
            public View getInfoContents(Marker marker) {    

                return null;

            }
        });

希望有帮助。

好的,我只需要一个弹出窗口,而不是警报。我在地图上有我的标记。当我按下一个标记时,会出现一个带有一些详细信息的自定义信息窗口,现在我想,当我按下相对信息窗口时,会出现一个更大的弹出窗口,显示更多的详细信息,如电话号码,电子邮件地址和其他详细信息。昨天我没有时间了,但今天我将尝试:)非常感谢您这与android<3.0兼容吗?如果我创建了一个扩展对话框的新类,我无法从show()传递上下文。。我如何处理上下文?我解决了这个问题!!非常感谢你!!只需将上下文传递给扩展Dialog:DFantastic的类,就可以在创建customDialog时在自己的构造函数中传递上下文。然后,调用show()方法。我已经做了一个自定义信息窗口,我想做的是创建一个更大的窗口,当我点击信息窗口时会出现。不过还是要谢谢你:)
map.setInfoWindowAdapter(new InfoWindowAdapter() {

            @Override
            public View getInfoWindow(Marker marker) {

                View v = getLayoutInflater().inflate(R.layout.infowindow,
                        null);

                TextView txt_title = (TextView) v.findViewById(R.id.info_title);
                txt_title.setText(marker.getTitle());

                TextView txt_snippet = (TextView) v.findViewById(R.id.info_snippet);
                txt_snippet.setText(strSnippet);

                return v;

            }

            @Override
            public View getInfoContents(Marker marker) {    

                return null;

            }
        });