在外部单击时,Android 弹出窗口消失

标签 android popupwindow

我希望得到我目前遇到的问题的答案。

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

目前我有 setOutsideTouchable(false); 但这只是停止窗口外的事件,它仍然关闭弹出窗口。

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

谢谢

最佳答案

好的,最后修好了。

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

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

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

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

然后给弹出窗口属性:

setTouchable(true);
setOutsideTouchable(false);

干杯

关于在外部单击时,Android 弹出窗口消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8355905/

相关文章:

java - 主要 Activity 未设置主题

html - 在不改变视口(viewport)位置的情况下使用纯 CSS/HTML 弹出 div

Android 覆盖错误 - 它们是什么意思?

Android Fabric - 空指针异常 : button in popup window layout

android - 如何使用 FCM 向特定用户发送通知?

java - 如何替换字符串中的某些字符

java - 在android中调用XML中的java方法

java - Selenium ,我怎样才能选择新窗口

java - 如何在 Java 中使用 Selenium webdriver 下载 .docx 文件?

java - 匿名身份验证注销后 FirebaseUser 不为 null