Existe alguma diferença entre OnTouchListenere OnClickListener? Não estou perguntando do ponto de vista da programação, mas do ponto de vista da experiência do usuário.
Qual é melhor usar?
Precisamos implementar ambos?
Existe alguma diferença entre OnTouchListenere OnClickListener? Não estou perguntando do ponto de vista da programação, mas do ponto de vista da experiência do usuário.
Qual é melhor usar?
Precisamos implementar ambos?
Respostas:
qual é melhor usar?
Realmente depende de sua necessidade.
onTouchdá a você Motion Event. Assim, você pode fazer muitas coisas sofisticadas, pois isso ajuda a separar o estado de movimento. Apenas para citar alguns:
Essas são ações comuns que geralmente implementamos para obter o resultado desejado, como arrastar a visualização na tela.
Por outro lado, onClicknão oferece muito, exceto qual visualização o usuário interage. onClické um evento completo que compreende focalizar, pressionar e liberar. Portanto, você tem pouco controle sobre isso. Por outro lado, é muito simples de implementar.
precisamos implementar ambos?
Não é necessário, a menos que você queira bagunçar o seu usuário. Se você deseja apenas um evento de clique simples, vá para onClick. Se você quer mais do que clicar, vá em frente onTouch. Fazer as duas coisas complicará o processo.
Do ponto de vista do usuário, é imperceptível se você implementar com onTouchcuidado para parecer onClick.
Um evento de "Toque" ocorre quando alguém coloca o dedo na tela. É chamado ao longo do movimento do dedo, para baixo, arrastar e subir. Um "clique" nem precisa sair da tela. Pode ser alguém pressionando a tecla Enter.
Use OnTouchListenerquando quiser receber eventos do dedo de alguém na tela.
Use OnClickListenerquando quiser detectar cliques.
onClickListener é usado sempre que um evento click para qualquer visão é gerado, digamos, por exemplo: evento click para Button, ImageButton.
onTouchListener é usado sempre que você deseja implementar o tipo de funcionalidade Touch, digamos, por exemplo, se você deseja obter as coordenadas da tela onde você toca exatamente.
do documento oficial, a definição de ambos são:
onClickListner: Definição de interface para um retorno de chamada a ser invocado quando uma visualização é clicada.onTouchListener: Definição de interface para um retorno de chamada a ser invocado quando um evento de toque é despachado para esta visualização. O retorno de chamada será invocado antes que o evento de toque seja fornecido à visualização.Um bom motivo para usar eventos ontouch em vez de eventos onclick é obter uma resposta mais rápida ao clicar do usuário. Onde o evento onclick sofre um atraso para responder e prosseguir com a ação necessária. Os eventos ontouch são melhores para fornecer aplicativos da web móvel de alto desempenho.
OnClickListener - é usado para uma finalidade básica, quando precisamos apenas de um clique de um usuário, ou seja, clicar em um botão, sem arrastar ou fazer gestos na tela
OnTouchListeneré basicamente um controle mais ajustado do que OnClickListener. Ele executa uma ação ao pressionar / soltar na tela. Permite ao usuário uma combinação de movimento, toque para baixo, toque para cima, arraste com o dedo ou qualquer gesto de movimento na tela