Есть ли разница между OnTouchListenerи OnClickListener? Я спрашиваю не с точки зрения программирования, а с точки зрения пользовательского опыта.
Какой лучше использовать?
Нам нужно реализовать и то, и другое?
Есть ли разница между OnTouchListenerи OnClickListener? Я спрашиваю не с точки зрения программирования, а с точки зрения пользовательского опыта.
Какой лучше использовать?
Нам нужно реализовать и то, и другое?
Ответы:
какой лучше использовать?
Это действительно зависит от ваших требований.
onTouchдает вам событие движения. Таким образом, вы можете делать много необычных вещей, поскольку это поможет вам разделить состояние движения. Просто назвать несколько:
Это обычные действия, которые мы обычно выполняем, чтобы получить желаемый результат, например, перетаскивание представления на экране.
С другой стороны, onClickмало что дает, кроме того, с каким представлением взаимодействует пользователь. onClickэто законченное событие, состоящее из фокусировки, нажатия и отпускания. Итак, у вас мало контроля над этим. С одной стороны, это очень просто реализовать.
нам нужно реализовать оба?
В этом нет необходимости, если вы не хотите испортить своего пользователя. Если вам просто нужно простое событие щелчка, выберите onClick. Если вам нужно больше, чем просто щелкнуть мышью, выбирайте onTouch. И то, и другое усложнит процесс.
С точки зрения пользователя это незаметно, если вы onTouchтщательно реализуете его, чтобы он выглядел onClick.
Событие «касание» - это когда кто-то касается экрана пальцем. Он вызывается во время движения пальца вниз, перетаскивания и вверх. «Щелчок» даже не должен происходить с экрана. Это может быть кто-то, нажимающий клавишу ввода.
Используйте, OnTouchListenerкогда вы хотите получать события от чьего-либо пальца на экране.
Используйте, OnClickListenerесли вы хотите обнаруживать щелчки.
onClickListener используется всякий раз, когда возникает событие щелчка для любого представления, например, например: событие щелчка для кнопки, ImageButton.
onTouchListener используется всякий раз, когда вы хотите реализовать сенсорную функциональность, например, если вы хотите получить координаты экрана, в котором вы точно касаетесь.
из официального документа, определение для обоих:
onClickListner: Определение интерфейса для обратного вызова, который будет вызываться при нажатии на представление.onTouchListener: Определение интерфейса для обратного вызова, который будет вызываться, когда событие касания отправляется этому представлению. Обратный вызов будет вызываться до того, как событие касания будет передано представлению.Одна из веских причин использовать события ontouch вместо событий onclick - получить более быстрый ответ на щелчок пользователя. Если событие onclick задерживается с ответом и продолжением требуемого действия. События ontouch лучше подходят для предоставления высокопроизводительных мобильных веб-приложений.
OnClickListener - используется для основной цели, когда нам просто нужен щелчок от пользователя, то есть щелчок кнопки, отсутствие перетаскивания или жестов на экране
OnTouchListenerпо сути, это более точно настроенный элемент управления, чем OnClickListener. Он выполняет и выполняет действие при нажатии / отпускании на экране. Он позволяет пользователю использовать комбинацию движения, касания вниз, касания вверх, перетаскивания пальцем или любого движения на экране.