Закрыть AlertDialog, когда нажата область заполнения окна - PullRequest
0 голосов
/ 05 июля 2019

Я пытаюсь закрыть диалоговое окно при щелчке снаружи, но когда я нажимаю на область левой или правой стороны диалога, оно не закрывается. Я немного его исследовал и выяснил, что это отступ DecorView, который создает прозрачное пространство по бокам, но я не нашел способа сделать его кликабельным

This area

Ответы [ 4 ]

0 голосов
/ 05 июля 2019

Попробуйте это:

alertDialog.setOnTouchListener{
    alertDialog.dismiss()
}
0 голосов
/ 05 июля 2019

Закрыть AlertDialog, когда нажата область заполнения окна

Извините, вы не можете этого сделать. Это не возможно AFAIK. Вы должны попробовать с setCanceledOnTouchOutside

Устанавливает, отменяется ли этот диалог при касании за пределами окна. границы. Если задано значение true, диалог отключается, если нет уже установлено.

dialogOBJ.setCanceledOnTouchOutside(true);
0 голосов
/ 05 июля 2019

Попробуйте добавить эту строку в диалог:

dialog.setCanceledOnTouchOutside(true);

А теперь диалоговое окно закроется, когда пользователь нажмет на экран.

0 голосов
/ 05 июля 2019

Вы пытаетесь отменить функцию внешнего касания, как эта

 dialog.setCanceledOnTouchOutside(true);
...