当弹出窗口时Android弹出窗口消失
问题描述:
我希望能够得到我目前遇到的问题的答案。当弹出窗口时Android弹出窗口消失
我有一个扩展弹出窗口的类。它可以正常工作,除非我不希望窗口在窗口外单击时解散。
目前我有setOutsideTouchable(false);
但这只是停止窗口外的事件,它仍然会关闭弹出窗口。
对话有setCanceledOnTouchOutside(false)
,有没有类似的东西我可以使用?你在使用这个PopupWindow
为
感谢
答
确定如此修复。
首先制作了弹出窗口位于相对布局上的主要布局。然后在顶部放置一个全屏幕空白布局,使其看不见且透明。
然后显示在显示的弹出窗口,设置全屏幕面板可见与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);
干杯
答
?这听起来像你用更多Dialog
的方式使用它。
这就是说,你可能需要研究使用setTouchInterceptor
,然后创建自己的OnTouchListener
,你将用它来检查触摸的执行位置(在弹出或不弹出)。
+0
嗨,我使用弹出式窗口,里面有旋转木马和几个线性布局。这似乎最适合我需要做的事情,除了我有这个问题。 –
这是我的答案[1]!问题是[问题]。 [1]:http://*.com/questions/10406339/avoiding-popupwindow-dismissal-after-touching-outside/30586418#30586418 [question]:http://*.com/questions/10406339/avoid-popupwindow-dismissal-after-touching-outside – user2297951