У меня есть требование UX, чтобы пользователь запускал Dialog
, долгое нажатие ячейки в GridView
.Регистрация UP/CANCEL из диалогового окна при запуске события DOWN из LongPress View
При отображении
Dialog
пользователь должен иметь возможность перемещать их палец/палец по экрану без вызываяUP/CANCEL
событие, когда они выходят за пределыGridView
клетки.Когда пользователь, наконец, разрывает контакт с экраном - это то, что я ищу, чтобы захватить.
GridView
, похоже, регистрирует ложные срабатывания дляUP/CANCEL
, которые мы не видим, используя какие-либо другие виды.Вопрос заключается в том, что первоначальный вид захватывает все события прикосновения, потому что
DOWN
был захвачен ею.Диалог регистрирует/не видит никаких касаний до тех пор, пока событие UP не будет отображаться с исходного вида.
Я попытался отменить оригинальное сенсорное событие и использование dispatchTouch()
и т.д. Нет радости.
Любые идеи?
Не могли бы вы уточнить? я не понимаю, что вы хотите сделать. – TheRedFox
У вас есть вид в действии или фрагменте, который вызывает отображение диалога, когда представление длинно (работает). Пользователь должен иметь возможность отвести свой палец от представления, которое вызвало диалог, но никогда не прерывать контакт с экраном. Когда и только тогда, когда пользователь нарушает контакт с экраном, запускает другое событие. Проблема: при перемещении за пределы исходного вида ACTION_UP и/или ACTION_CANCEL запускаются и никакие касания не регистрируются диалогом (или чем-либо еще), пока пользователь не нарушит контакт с экраном и ретушированием. –
Я сделал что-то подобное без сетки. Пользователь должен долгое нажатие на диалог. Пользователь может перемещать палец (при нажатии) повсюду и когда пользователь забирает диалог пальца, скрывается. Пожалуйста, рассмотрите возможность сделать видео и опубликовать его здесь. Я не понял эту часть (и никакие касания не регистрируются в диалоговом окне (или что-либо еще), пока пользователь не нарушит контакт с экраном и ретушированием.) –