안드로이드 gesturedetector 예제

안드로이드, 내용, 더 이상 사용되지 않는, double_tap_timeout, 제스처 검출기, 제스처 핸들러, long_press, longpress_timeout, 모션 이벤트, ondoubletaplistener, ongesturelistener, os, 재정의, 런타임 예외, show_press, 알 수없는, 속도 추적기 하자 이러한 터치 이벤트로 시작됩니다. View.OnTouchListener를 구현하는 Android 활동을 만듭니다. 활동의 레이아웃 파일에서 기본 상대 레이아웃 루트Layout의 ID를 설정 합니다. 예제에서 구현된 대로 이 활동에 대한 보기는 이 레이아웃의 사용자 작업에 의해 트리거되는 터치 이벤트에 응답할 수 있습니다. GestureDetector 클래스는 특정 사용자 제스처 집합에 해당하는 모션 이벤트를 수신합니다. 위쪽 을 탭하고 세로 및 수평으로 스 와이프 (날뛰기), 길고 짧은 누름, 두 번 탭 및 스크롤과 같은. GestureDetector는 이러한 표준 사용자 상호 작용에 대 한 강력한 이며 쉽게 설정 하는 SimpleOnGesture리스 안드로이드 UI 요소. 이 기사에서는 기본 지식과 함께 Android 제스처 클래스의 두 가지 주요 유형을 제시하여 사용을 시작했습니다. 여기에서 배운 내용을 사용하여 앱의 사용자 환경을 개선하고 질문이나 의견이 있으면 알려주세요.

이 단원의 예제에서는 제스처 디텍터호환성 및 모션이벤트호환성 클래스를 사용합니다. 이러한 클래스는 지원 라이브러리에 있습니다. 가능한 경우 지원 라이브러리 클래스를 사용하여 Android 1.6 이상을 실행하는 장치와의 호환성을 제공해야 합니다. 모션이벤트호환성은 모션이벤트 클래스를 대체하지 않습니다. 대신 해당 이벤트와 연관된 원하는 작업을 수신하기 위해 MotionEvent 개체를 전달하는 정적 유틸리티 메서드를 제공합니다. 사용자가 Android 장치의 디스플레이와 상호 작용하면 현재 활성 응용 프로그램의 onTouchEvent() 메서드가 시스템에 의해 호출되고 사용자가 화면과 접촉하는 데이터에 대한 데이터를 포함하는 MotionEvent 개체를 전달합니다. 이 데이터는 화면의 동작이 탭 또는 스 와이프와 같은 일반적인 제스처와 일치하는지 식별하기 위해 해석 될 수 있습니다. 이것은 안드로이드 제스처DetectorCompat 클래스를 사용하여 아주 작은 프로그래밍 노력으로 달성 될 수있다. 이 클래스는 응용 프로그램에서 모션 이벤트 정보를 수신하고 검색된 일반적인 제스처 유형(있는 경우)에 따라 메서드 호출을 트리거하도록 특별히 설계되었습니다. 안드로이드는 우리가 아래로 도청 하고 위로, 수직 및 수평 (날뛰기), 길고 짧은 프레스, 더블 탭 등과 같은 일반적인 제스처를 감지하고 그들에게 청취자를 연결하는 등의 일반적인 제스처를 감지 할 수있는 사용하여 GestureDetector라는 클래스를 제공합니다.

어떻게 하는지 살펴보겠습니다. 안드로이드는 터치 이벤트 제스처의 다른 유형을 제공 그 이중 탭, 긴 누르기, 날뛰기, 핀치, 등등 우리는 우리의 요구 사항에 따라 우리의 안드로이드 응용 프로그램에서 이러한 제스처를 사용할 수 있습니다. 안드로이드 간단한 제스처 검출기는 기본 제스처에 유용합니다. 그러나 두 개 이상의 터치를 찾는 제스처의 경우 다른 곳을 찾아야합니다. 사용자 지정하고 더 복잡한 터치 메커니즘을 구현하기 위해 모션 이벤트를 사용합니다. 대부분의 응용 프로그램에서 당신은 당신의 손을 더러운 자신의 터치 이벤트를 구현 얻을 필요가 없습니다하지만 당신은 이제까지 멋진 터치 이벤트와 완전히 대화 형 응용 프로그램을 만들려면이 클래스는 솔루션입니다. MotionEvent 클래스의 핵심은 onTouchEvent() 콜백을 재정의하거나 view에서 설정된TouchListener() 메서드를 사용하여 뷰에서 터치 이벤트를 수신 대기하여 활동에서 터치 이벤트를 캡처하는 것입니다. 보기 터치 이벤트는 다음 예제에서와 같이 활동 클래스에 View.OnTouchListener를 구현하여 잡을 수 있습니다.

Posted in Uncategorized