안드로이드 터치 이벤트 예제

대부분의 Android 기반 장치는 터치 스크린을 사용자와 장치 간의 기본 인터페이스로 사용합니다. 이전 장에서는 화면의 터치가 실행 중인 Android 응용 프로그램 내에서 동작으로 변환되는 메커니즘을 도입했습니다. 그러나 뷰 오브젝트에서 한 손가락 탭으로 응답하는 것보다 이벤트 처리를 터치하는 것이 훨씬 더 많습니다. 예를 들어 대부분의 Android 기기는 한 번에 두 개 이상의 터치를 감지할 수 있습니다. 또한 터치는 장치 디스플레이의 단일 점으로 제한되지 않습니다. 물론 사용자가 화면 표면에서 하나 이상의 접점을 슬라이드할 때 터치는 동적일 수 있습니다. Android 시스템은 여러 손가락이 동시에 화면을 터치할 때마다 다음과 같은 터치 이벤트를 생성합니다. 현재 터치 접촉 위치, 압력 또는 크기가 변경될 때마다 새로운 onTouchEvent()가 ACTION_MOVE 이벤트로 트리거됩니다. 일반적인 제스처 감지에 설명된 대로 이러한 모든 이벤트는 onTouchEvent()의 MotionEvent 매개 변수에 기록됩니다. 응용 프로그램을 테스트하기 전에 마지막 작업은 수신기에서 호출한 handleTouch() 메서드를 구현하는 것입니다. 이 메서드의 코드는 다음과 같습니다: 터치 이벤트에 응답 하기 위한 주요 메커니즘은 이벤트의 대상이 될 것으로 의미 되는 View 또는 ViewGroup에서 View.onTouchEvent 메서드를 재정의 하는 것입니다. 활동의 콘텐츠 보기 내에서 어디서나 발생하는 이벤트를 처리하기 위해 Activity(Activity.onTouchEvent)에서 사용할 수 있는 유사한 방법도 있습니다. 참고 2: 보기도 호출되지만 레이아웃을 통과한 각 MotionEvent에 대해 onInterceptTouchEvent가 true로 트리거되는지 확인합니다.

즉, 레이아웃은 언제든지 뷰로 전송되는 후속 MotionEvent를 가로챌 수 있습니다. 터치 이벤트가 수신될 때 이 방법은 아래에서 더 잘 설명되며, 첫 번째 방법은 Activity.dispatchTouchEvent입니다. 이 메서드는 뷰 계층 구조를 통해 이벤트를 추가로 디스패치합니다. 이벤트를 사용하는 구성 요소가 없는 경우 Activity.onTouchEvent 메서드를 이벤트를 처리하는 마지막 수단으로 호출됩니다. 이 메서드는 터치 이벤트가 뷰에서 처리된 경우 true를 반환합니다. 안드로이드는 터치 이벤트를 처리하기 위해 true를 반환 하는 가장 깊은 보기를 찾으려고 합니다. 뷰가 다른 뷰(상위 보기)의 일부인 경우 부모는 onInterceptTouchEvent() 메서드에서 true를 반환하여 이벤트를 클레임할 수 있습니다. 이렇게 하면 MotionEvent.ACTION_CANCEL 이벤트가 이전에 터치 이벤트를 수신한 뷰로 전송됩니다.

Kommentieren ist momentan nicht möglich.

Heimleiterin:
Frau Dumke

Seeallee 3
15299 Müllrose

Tel.: 033606 / 70284
Fax: 033606 / 70285

E-Mail:
kindernester@arcor.de

» 크로스사이트 스크립트 예제
» 파이썬 쉬운 예제
» 마운트 예제
» 리눅스 opencv 예제
» 메이븐 프로젝트 예제

© 2015 by Kindernester Schlaubetal e.V. | Hosted by RB Media Group GmbH | Kontakt | Impressum