OpenGL-ES용 Android의 길게 누르기 감지
Android 프로그래밍에서 길게 누르기를 감지하는 것은 다양한 사용자 상호작용에 필수적입니다. 전통적으로 개발자는 터치 이벤트를 감지하기 위해 onTouchEvent(MotionEvent 이벤트) 메서드를 사용해 왔습니다. 그러나 이 방법은 길게 누르기 전용 감지 기능을 제공하지 않습니다.
대체 접근 방식
귀하의 질문에서 언급했듯이 한 가지 해결 방법은 ACTION_DOWN 및 ACTION_UP 터치에 모두 등록하는 것입니다. 이벤트를 처리하고 둘 사이에 경과된 시간을 계산합니다. 길게 누르기 감지를 시뮬레이션할 수 있지만 명시적인 타이머 처리 및 수동 임계값 결정이 필요합니다.
GestureDetector 활용
다행히 Android는 길게 누르기 감지를 위한 더욱 강력한 솔루션을 제공합니다. : GestureDetector 클래스. GestureDetector는 터치 이벤트를 자동으로 모니터링하고 길게 누르기를 포함한 제스처를 감지하여 프로세스를 단순화합니다. 구현 방법은 다음과 같습니다.
<code class="java">GestureDetectorCompat gestureDetector = new GestureDetectorCompat(context, new GestureDetector.OnGestureListener() { @Override public boolean onDown(MotionEvent ev) { // Handle initial touch return true; } @Override public void onShowPress(MotionEvent ev) { // Triggered when a long press is detected } // Other gesture listening methods }); @Override public boolean onTouchEvent(MotionEvent event) { gestureDetector.onTouchEvent(event); return super.onTouchEvent(event); }</code>
이 예에서는 GestureDetectorCompat가 GestureDetector.OnGestureListener 구현으로 생성 및 구성됩니다. onDown 및 onShowPress 메서드는 각각 초기 터치 및 길게 누르기 감지를 처리합니다. onTouchEvent 메서드는 터치 이벤트 모니터링을 위해 GestureDetector를 등록합니다.
결론
GestureDetector를 활용하면 Android OpenGL에서 길게 누르기를 감지하는 안정적이고 효율적인 솔루션을 얻을 수 있습니다. 수동 타이머 처리 또는 임계값 결정이 필요 없는 ES 애플리케이션입니다.
위 내용은 Android OpenGL-ES 애플리케이션에서 길게 누르기를 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!