单击外部时,Android弹出窗口会自动关闭

Jos*_*art 6 android popupwindow

我希望得到我现在遇到的问题的答案.

我有一个扩展弹出窗口的类.它工作正常,除了我不希望窗口在窗口外单击时关闭.

目前我有setOutsideTouchable(false);这个只是停止窗外的事件,它仍然解散弹出窗口.

对话框有setCanceledOnTouchOutside(false),我可以使用类似的东西吗?

谢谢

Jos*_*art 7

好的,最后修好了.

首先制作弹出窗口位于相对布局上的主要布局.然后在顶部放置一个全屏空白布局,使我看不见和透明.

然后显示弹出窗口显示时,将全屏幕面板设置为可见,setVisibility(View.VISIBLE);并隐藏弹出窗口时隐藏setVisibility(View.GONE);

还需要从触摸侦听器返回true以进行布局(要停止传递回主布局的触摸事件):

blocker.setOnTouchListener(new OnTouchListener() { 
@Override
public boolean onTouch(View v, MotionEvent event) {
return true;
}
});
Run Code Online (Sandbox Code Playgroud)

并为弹出窗口提供属性:

setTouchable(true);
setOutsideTouchable(false);
Run Code Online (Sandbox Code Playgroud)

干杯