컴퓨터 지식 네트워크 - 컴퓨터 지식 - Android 프레임워크 ImageButton은 누르고 놓을 때 이벤트를 어떻게 구현하나요?

Android 프레임워크 ImageButton은 누르고 놓을 때 이벤트를 어떻게 구현하나요?

이는 onTouch를 사용하여 달성할 수 있습니다. 터치 이벤트에는 손가락 누르기, 이동 및 떼기와 관련된 API가 있습니다.

터치 이벤트 안내:

1. 이벤트 구성 정보

안드로이드에서 이벤트에는 주로 탭, 길게 누르기, 드래그, 슬라이드 등이 포함됩니다. 한 번 클릭과 두 번 클릭은 물론 한 손가락 작업과 여러 손가락 작업도 포함됩니다. 이 모든 것은 Android의 이벤트 응답을 구성합니다. 일반적으로 모든 이벤트는 다음 세 부분을 기반으로 합니다.

1. 누르기(ACTION_DOWN)

2. 이동(ACTION_MOVE)

3. (ACTION_UP)

모든 작업 이벤트는 먼저 프레스 작업(ACTIONDOWN)을 수행해야 합니다. 모든 후속 작업은 프레스 작업이 완료되면 이동 기간이 이어질 수 있습니다. (ACTIONMOVE) 후 들어올림(ACTION_UP)하거나, 누르기 작업이 완료된 후 움직이지 않고 바로 들어올릴 수도 있습니다. 이러한 일련의 작업은 Android에서 제어할 수 있습니다.

2. 이벤트 처리 API

DispatchTouchEvent와 onTouchEvent 메소드는 View와 ViewGroup에 모두 존재하지만, Android에서는 ViewGroup에도 onInterceptTouchEvent 메소드가 있습니다. 완료된 이벤트의 소비로 전달되면 이러한 메서드의 반환 값에 따라 이벤트가 계속 전달되는지, 가로채거나 소비되는지가 결정됩니다.

public boolean dispatchTouchEvent(MotionEvent 이벤트)

public boolean onTouchEvent(MotionEvent 이벤트)?

public boolean onInterceptTouchEvent(MotionEvent 이벤트)

3. 이벤트 처리 API에 대한 설명

이벤트 전달에는 dispatchTouchEvent 메소드가 사용됩니다. Android의 모든 이벤트는 이 메소드를 통해 전달되어야 하며, 이후 현재 이벤트를 자체적으로 소비할지 아니면 계속 진행할지 결정됩니다. 그것을 자식 컨트롤에 배포하십시오. true를 반환한다는 것은 배포가 계속되지 않고 이벤트가 소비되지 않았음을 의미합니다. false를 반환하면 계속 배포됩니다. ViewGroup인 경우 onInterceptTouchEvent에 배포되어 이벤트를 가로챌지 여부를 결정합니다.

onTouchEvent 메소드는 이벤트 처리에 사용됩니다. true를 반환하는 것은 현재 이벤트를 소비하고 처리하는 것을 의미합니다. false를 반환하는 것은 이벤트를 처리하지 않고 계속 배포하기 위해 하위 컨트롤에 넘겨주는 것을 의미합니다.

onInterceptTouchEvent는 View가 아닌 ​​ViewGroup에만 있는 메서드로, 이벤트를 가로채는 역할을 하며, true가 반환되면 현재 이벤트를 가로채서 계속 전달하지 않는다는 의미입니다. 자체 onTouchEvent 처리에 사용됩니다. false가 반환되면 데이터가 가로채지 않고 계속해서 데이터가 전달됩니다.

上篇: 지오캐싱을 발음하는 법 下篇: 4M 인터넷 속도가 좋다. 다른 사람의 4M 인터넷 속도의 화선은 30 이다. 40 지연. 저는 80~ 100 사이였습니다. 예전에는 2M 과 80~ 100 이었습니다.
관련 내용