2011-12-14 118 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); 
      } 
     } 
    }); 
}