单击按钮时如何关闭弹出窗口?

时间:2016-05-09 12:06:57

标签: android

  • 我想做什么

    我想写一个按钮,当我点击它会显示一个弹出窗口,当我点击外面或再次点击按钮弹出窗口将解散。
  • 我做什么

    我使用像这样的代码

    mPopupWindow=new PopupWindow();
    mPopupWindow.setTouchable(true);
    mPopupWindow.setOutsideTouchable(true);
    mPopupWindow.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
    mPopupWindow.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
    
        brush.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
    
    
                mPopupWindow.setContentView(brushView);
                mPopupWindow.showAsDropDown(v);
    
        }
    });
    
  • 问题是什么

    当我再次点击该按钮时,它将显示尝试完成输入事件,但输入事件接收器已被处理。

它认为它是因为它tirgger外部和clicklistener

4 个答案:

答案 0 :(得分:1)

请尝试以下答案:

mPopupWindow.setBackgroundDrawable(new BitmapDrawable()); 
mPopupWindow.setOutsideTouchable(true); 

答案 1 :(得分:1)

点击外部使用时弹出消息:

   myPopupWindow.setOutsideTouchable(true);

要在点击按钮时打开和关闭弹出窗口,请将此代码放入OnClickListener

    if(myPopupWindow.isShowing()) {
        myPopupWindow.dismiss();
    } else {
        mPopupWindow.setContentView(brushView);
        mPopupWindow.showAsDropDown(v);
    }

答案 2 :(得分:0)

只需使用

git mktree

答案 3 :(得分:0)

找到一个技巧 使用

        mPopupWindow=new PopupWindow(new View(mcontext),WindowManager.LayoutParams.WRAP_CONTENT,WindowManager.LayoutParams.WRAP_CONTENT,true);

我不知道为什么但它有效