[android] OnTouch와 OnClick Android의 차이점

OnTouchListener와 사이에 차이점이 OnClickListener있습니까? 나는 프로그래밍 관점에서 묻는 것이 아니라 사용자 경험 관점에서 묻습니다.

어느 것을 사용하는 것이 더 낫습니까?

둘 다 구현해야합니까?



답변

어느 것을 사용하는 것이 더 낫습니까?

그것은 귀하의 요구 사항에 따라 다릅니다.

onTouch모션 이벤트를 제공합니다. 따라서 움직임 상태를 분리하는 데 도움이되므로 멋진 일을 많이 할 수 있습니다. 몇가지 말하자면:

  • ACTION_UP
  • ACTION_DOWN
  • ACTION_MOVE

이는 화면에서 뷰를 드래그하는 것과 같은 원하는 결과를 얻기 위해 일반적으로 구현하는 일반적인 작업입니다.

반면에 onClick사용자가 상호 작용하는 뷰를 제외하고는 많이 제공하지 않습니다. onClick초점 맞추기, 누르기 및 놓기로 구성된 완전한 이벤트입니다. 그래서, 당신은 그것을 거의 통제 할 수 없습니다. 한 가지 측면은 구현이 매우 간단하다는 것입니다.

둘 다 구현해야합니까?

사용자를 엉망으로 만들고 싶지 않으면 필요하지 않습니다. 간단한 클릭 이벤트를 원하면 onClick. 클릭 이상을 원하면으로 이동하십시오 onTouch. 둘 다 수행하면 프로세스가 복잡해집니다.

당신이 구현하는 경우보기의 사용자 관점에서, 그것은 눈에 띄지입니다 onTouch같이 신중하게 onClick.


답변

“터치”이벤트는 누군가 화면에 손가락을 대는 것입니다. 손가락, 아래로, 끌기, 위로 이동하는 동안 호출됩니다. “클릭”은 화면에서 나올 필요도 없습니다. 누군가가 Enter 키를 누르는 것일 수 있습니다.

OnTouchListener화면에서 누군가의 손가락으로 이벤트를 받고 싶을 때 사용 합니다.

OnClickListener클릭을 감지하고 싶을 때 사용 합니다.


답변

  • onClickListener 보기에 대한 클릭 이벤트가 발생할 때마다 사용됩니다 (예 : Button의 클릭 이벤트, ImageButton).

  • onTouchListener 예를 들어 정확하게 터치하는 화면의 좌표를 얻으려는 경우와 같이 Touch 종류의 기능을 구현할 때마다 사용됩니다.

공식 문서에서 둘 다에 대한 정의는 다음과 같습니다.

  • onClickListner:보기를 클릭 할 때 호출되는 콜백에 대한 인터페이스 정의입니다.
  • onTouchListener: 터치 이벤트가이 뷰로 전달 될 때 호출 될 콜백에 대한 인터페이스 정의입니다. 터치 이벤트가 뷰에 제공되기 전에 콜백이 호출됩니다.


답변

onclick 이벤트보다 ontouch 이벤트를 사용하는 한 가지 좋은 이유는 사용자가 클릭 할 때 더 빠른 응답을 얻기 위해서입니다. onclick 이벤트가 응답하고 필요한 조치를 진행하는 데 지연이 발생하는 경우. ontouch 이벤트는 고성능 모바일 웹 앱을 제공하는 데 더 좋습니다.


답변

OnClickListener -사용자의 클릭 만 필요한 경우 (예 : 버튼 클릭, 화면의 드래그 또는 제스처 없음) 기본 목적으로 사용됩니다.

OnTouchListener기본적으로 OnClickListener보다 미세 조정 된 컨트롤입니다. 화면에서 눌렀다가 놓을 때 수행 및 작업을 수행합니다. 화면에서 이동, 아래로 터치, 위로 터치, 손가락 끌기 또는 모든 이동 제스처를 조합하여 사용자가 사용할 수 있습니다.


답변

onTouch를 선호합니다. 예를 들어 보자 : ViewPager와 TextView가있을 때. textView에서 setOnClickListener를 구현하면 TextView에서 터치 / 스 와이프 할 때 ViewPager를 스 와이프 할 수 없습니다.


답변