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를 스 와이프 할 수 없습니다.
답변
