> Java > java지도 시간 > Android OpenGL-ES 애플리케이션에서 긴 클릭을 감지하는 방법은 무엇입니까?

Android OpenGL-ES 애플리케이션에서 긴 클릭을 감지하는 방법은 무엇입니까?

Patricia Arquette
풀어 주다: 2024-11-03 07:40:03
원래의
937명이 탐색했습니다.

How to Detect Long Clicks in Android OpenGL-ES Applications?

OpenGL-ES를 사용하여 Android에서 긴 클릭을 감지하는 방법

사용자가 OpenGL-ES에 의해 렌더링되는 표면을 누를 때를 감지하려면 애플리케이션에서 개발자는 일반적으로 onTouchEvent(MotionEvent 이벤트) 메서드를 사용합니다. 그러나 이 방법에는 긴 클릭을 감지하는 기능이 내장되어 있지 않습니다.

한 가지 접근 방식은 ACTION_DOWN 이벤트에 등록하는 것입니다. 그런 다음 onTouchEvent에서 특정 시간 지연 후에 실행되도록 Runnable을 예약합니다. ACTION_UP 또는 ACTION_MOVE 이벤트로 인해 Runnable이 실행되기 전에 취소된 경우 이는 사용자가 긴 클릭을 수행하지 않았음을 나타냅니다.

또는 Android는 더 정교한 솔루션인 GestureDetector를 제공합니다. 긴 클릭을 포함한 다양한 동작을 감지합니다.

GestureDetector 사용

GestureDetector를 사용하려면 다음 단계를 따르세요.

  1. GestureDetector 인스턴스.
  2. 액티비티 또는 프래그먼트에서 onTouchEvent 메서드를 재정의합니다.
  3. onTouchEvent에서gestureDetector.onTouchEvent(event)를 사용하여 터치 이벤트를 GestureDetector 인스턴스에 전달합니다.
  4. GestureDetector에 OnGestureListener를 등록하여 긴 클릭을 감지합니다.

다음은 긴 클릭을 감지하기 위해 GestureDetector를 사용하는 예입니다.

<code class="kotlin">class MyActivity : AppCompatActivity() {

  private lateinit var gestureDetector: GestureDetector

  override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    gestureDetector = GestureDetector(this, LongClickListener())
  }

  override fun onTouchEvent(event: MotionEvent): Boolean {
    gestureDetector.onTouchEvent(event)
    return super.onTouchEvent(event)
  }

  inner class LongClickListener : OnGestureListener {

    override fun onLongPress(e: MotionEvent?) {
      // Handle long click here.
    }

    // Implement other gesture methods as needed.
  }
}</code>
로그인 후 복사

GestureDetector를 사용하면 쉽게 감지할 수 있습니다. OpenGL-ES 애플리케이션을 길게 클릭하세요.

위 내용은 Android OpenGL-ES 애플리케이션에서 긴 클릭을 감지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿