其他分享
首页 > 其他分享> > android – 如何在对话框外发生单击时触发事件

android – 如何在对话框外发生单击时触发事件

作者:互联网

我想知道如何解决我遇到的问题.

我有一个在活动中弹出的Dialog.对话框不会覆盖整个屏幕,因此活动中的按钮仍会显示.当在dialog.setCanceledOnTouchOutside(true)的对话框边界外触摸时,我可以轻松地关闭对话框;

然而,我想要做的是,如果点击超出Dialog的界限,则触发事件(例如,如果有人触摸主Activity上的按钮,它应该关闭Dialog并同时触发该事件).

解决方法:

这个对我有用,,

        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();

见这http://developer.android.com/reference/android/view/WindowManager.LayoutParams.html#FLAG_NOT_TOUCH_MODAL

标签:android,android-dialog
来源: https://codeday.me/bug/20190926/1818142.html