Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Android Popup Window dismisses when clicked outside

I was hoping to get an answer to my problem I have at the moment.

I have a class which extends popup window. It works fine except I don't want the window to dismiss when I click outside of the window.

At the moment I have setOutsideTouchable(false); but this just stops events outside the window, it still dismisses the popup.

A dialog has setCanceledOnTouchOutside(false), is there something similar I can use?

Thanks

like image 271
Joss Stuart Avatar asked Dec 02 '11 11:12

Joss Stuart


1 Answers

Ok so fixed in the end.

First made the main layout which the popup sits on a relative layout. Then placed a full screen blank layout on top which I made invisible and transparent.

Then show when the popup is shown, set the full screen panel visible with setVisibility(View.VISIBLE); and hide when popup is hidden with setVisibility(View.GONE);

Also need to return true from an on touch listener for the layout with (To stop touch events passing back to the main layout):

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

And give the popup window the properties:

setTouchable(true);
setOutsideTouchable(false);

Cheers

like image 115
Joss Stuart Avatar answered Oct 10 '22 00:10

Joss Stuart