繁体   English   中英

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

[英]Android Popup Window dismisses when clicked outside

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

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

目前我已经setOutsideTouchable(false); 但这只会阻止窗外的事件,它仍然会关闭弹出窗口。

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

谢谢

好的,最后修好了。

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

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

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

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

并为弹出窗口提供属性:

setTouchable(true);
setOutsideTouchable(false);

干杯

你在使用这个PopupWindow为了什么? 听起来你用更多的Dialog -ish方式使用它。

话虽如此,你可能不得不考虑使用setTouchInterceptor ,然后创建自己的OnTouchListener ,你将用它来检查触摸的执行位置(在弹出OnTouchListener上或不是)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM