我使用像这样的代码
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
答案 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);
我不知道为什么但它有效