回答

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

    } 

希望它可以幫助你!

+0

昨天我沒有時間了,但今天我會試試:)非常感謝你 – 2014-10-02 06:26:59

+0

是否與android <3.0兼容? – 2014-10-02 13:19:52

+0

如果我創建一個擴展Dialog的新類,我不能從show()傳遞一個上下文。我如何處理上下文? – 2014-10-02 14:01:02

1

是的,它可以在地圖片段中創建窗口。但仍然清楚你的問題。你是否需要在地圖上的某個地方點擊彈出窗口,或者需要彈出警報消息?請明確點!

+0

好吧我只需要一個彈出窗口,而不是一個警報。我在地圖上有我的標記。當我按一個標記時,一個帶有一些細節的自定義infoWindow出來了,現在我想要,當我推入相關的infoWindow時,一個更大的彈出窗口顯示出來,更多細節如電話號碼,電子郵件地址和其他細節。 – 2014-10-01 14:36:27

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; 

      } 
     }); 

希望它能幫助。

+0

我已經做了一個自定義信息窗口,我想要做的是創建一個更大的窗口,當我點擊infowindow時出現。不過謝謝你:) – 2014-10-02 13:43:07