2011-12-14 42 views
3

任何人都可以請告訴我,如何使用單個按鈕顯示和隱藏相同的彈出窗口。Android按鈕顯示和隱藏相同的彈出窗口

建議歡迎。


彈出意味着,當我在一個菜單按鈕點擊它顯示包含列表視圖的彈出窗口,當我再次上的菜單按鈕,並點擊屏幕上的任何接觸,該popwindow應該消失。

+1

詳細解釋, – 2011-12-14 10:25:38

回答

4

我使用波紋管代碼來做到這一點。在你的情況下,menuButton是你的單一按鈕,content是你的列表視圖。 anchor可以是menuButton本身或另一View

public static void setupMenuButton(View menuButton, View content, final View anchor) { 
    private PopupWindow popup; 

    menuButton.setOnClickListener(new OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (popup == null) { 
       popup = new PopupWindow(content, LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); 
       popup.setOutsideTouchable(true); 
      } 

      if (popup.isShowing()) { 
       popup.dismiss(); 
      } 
      else { 
       popup.showAsDropDown(anchor); 
      } 
     } 
    }); 
}