Всплывающее окно Android отклоняется при нажатии

Я надеялся получить ответ на свой вопрос, который у меня есть на данный момент.

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

На данный момент я setOutsideTouchable(false); Но это просто останавливает события за окном, оно все равно отклоняет всплывающее окно.

Диалог имеет setCanceledOnTouchOutside(false) , есть ли что-то подобное, которое я могу использовать?

благодаря

Хорошо, так исправлено в конце.

Сначала был сделан основной макет, который всплывает по относительной компоновке. Затем поместил полный экран пустой макет сверху, который я сделал невидимым и прозрачным.

Затем покажите, когда отображается всплывающее окно, установите полноэкранную панель с помощью функции 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); 

ура

Для чего вы используете этот PopupWindow ? Похоже, вы используете его в Dialog режиме.

При этом вам, вероятно, придется изучить использование setTouchInterceptor а затем создать собственный OnTouchListener который вы будете использовать, чтобы проверить, где было выполнено касание (в Popup или нет).

Intereting Posts
Как использовать Gson для сериализации объектов в android? Редактирование функциональности эмуляции гостевой карты в Android Преобразование PCM-16 в AMR с использованием AmrInputStream Установить компонент компоновки в центр Android: Рекурсивная копия с помощью adb push Android: чтение XML из локального ресурса (для тестирования) Не удалось найти Library.apk! Android: как интегрировать декодер в мультимедийную инфраструктуру На мобильном телефоне, как мне получить «ввести», чтобы отправить форму внутри ввода типа = «номер»? Неправильное понимание буфера в RxJava Преобразование массива JSON в POJO с использованием инструмента отображения объектов Jackson Утечка памяти с помощью GoogleApiClient, обнаруженная Android Studio Как я могу передать звуковой буфер, чтобы воспроизвести его напрямую OnStart новой операции вызывается перед onStop родительского NotifyDataSetChanged () обновляет список и прокручивает подсказки назад