Как определить относительный размер прикосновения в пользовательском представлении? - PullRequest
0 голосов
/ 28 октября 2019

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

Здесь я могу поймать ползунок:

Screenshot catch slide bar

Но в этом случаеЯ не могу:

Screenshot catch slidebar not working

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

1 Ответ

0 голосов
/ 06 ноября 2019

Вы не должны проверять каждый столбец на наличие события касания, я думаю, это не очень хороший способ. Вы должны определить момент времени с помощью сенсорного события. Процедура такова, что вы получаете значение y события прикосновения, а затем вычисляете начало и конец звукового блока при наступлении события прикосновения к экрану. После этого вы можете определить момент времени соответствующего блока, а затем искать его в своей структуре данных. Я думаю, что вы должны оптимизировать свою структуру данных для такого расчета. Пример расчета, ширина экрана составляет 1000 пикселей, начало экрана соответствует 2:30, а конец экрана соответствует 4:00, и произошло событие касания в (400 600). TheTouchTimePoint = 150 с + 90 * (600/100). Затем с помощью точки прикосновения вы можете найти соответствующий звуковой столбец.

...