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

时间:2014-10-01 14:13:30

标签: android android-activity android-fragments google-maps-markers google-maps-android-api-2

大家好我在我的应用程序中有一个包含谷歌地图片段的活动,我想知道当我推送任何带有关于该地点的更多信息的infoWindow时是否可以显示弹出窗口。有没有办法做到这一点?

3 个答案:

答案 0 :(得分:1)

是的,可以在地图片段中创建窗口。但仍然清楚你的问题。你是否需要点击地图中某个地方的弹出窗口,或者你需要弹出窗口,如警告信息?要具体!

答案 1 :(得分:1)

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

    @Override
    public void show() {
        requestWindowFeature(Window.FEATURE_NO_TITLE);
        LayoutInflater inflater = LayoutInflater.from(context);

        View layout = inflater.inflate(R.layout.your_layout, null);

        setCanceledOnTouchOutside(false);
        setCancelable(false);

        super.setContentView(layout);

        ((TextView) layout.findViewById(R.id.tvTitle)).setText(title);
        ((TextView) layout.findViewById(R.id.tvContent)).setText(content);
        dialog = layout.findViewById(R.id.dialog);

        Button btCancelar = (Button) layout.findViewById(R.id.btCancelar);


        super.show();

    }

希望它可以帮到你!!

答案 2 :(得分:1)

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

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;

            }
        });

希望它有所帮助。