fizo07 fizo07 - 6 months ago 68
Android Question

Android click event outside a dialog

I would like to know how to solve a problem I've got.
I have a Dialog which pops up in an activity. The Dialog doesn't cover the whole screen, so the buttons from the activity still show. I can easily close the dialog when there is a touch outside the dialog's bounds with

dialog.setCanceledOnTouchOutside(true);

However what I want to do is fire an event if a click is outside the Dialog's bounds(e.g if someone touches a button on the main Activity, it should close the Dialog and fire that event at the same time)

Answer

It Works For me,,

        Window window = dialog.getWindow();
        window.setFlags(WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL,
                WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL);
        window.clearFlags(WindowManager.LayoutParams.FLAG_DIM_BEHIND);

        dialog.show();

See this http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_NOT_TOUCH_MODAL