2
보기가 터치 상태인지 어떻게 알 수 있습니까? 하나의보기에서 하나 이상의 터치 포인트가있는 경우 마지막으로 발생한 터치 포인트의 이벤트를 어떻게 잡을 수 있습니까? 도와주세요.보기가 Android에서 터치 상태임을 알 수 있습니까?
보기가 터치 상태인지 어떻게 알 수 있습니까? 하나의보기에서 하나 이상의 터치 포인트가있는 경우 마지막으로 발생한 터치 포인트의 이벤트를 어떻게 잡을 수 있습니까? 도와주세요.보기가 Android에서 터치 상태임을 알 수 있습니까?
View
에서 onTouchEvent()을 무시할 수 있습니다. ACTION_DOWN
은 첫 번째 "포인터"가 놓일 때 주어집니다. 그 이후부터 손가락을 누른 다음 손을 떼면 ACTION_POINTER_DOWN
또는 ACTION_POINTER_UP
이됩니다. 그런 다음 마지막 포인터/손가락을 놓으면보기가 ACTION_UP
이됩니다. 이 내용은 MotionEvent docs에 명확하게 나와 있습니다.
이와 비슷한 것이 당신이 찾고있는 것일 수도 있습니다. View
을 작업하고 있습니다.
@Override
public boolean onTouchEvent(MotionEvent event)
{
if(event.getAction() == MotionEvent.ACTION_DOWN)
isTouching = true;
else if(event.getAction() == MotionEvent.ACTION_UP)
isTouching = false;
return super.onTouchEvent(event);
}
고마워요! 하지만이 코드는 단일 터치에서만 사용된다고 생각합니다. 두 개 이상의 포인터가있는 경우 그 중 하나는 작동하고 다른 하나는 작동하지 않지만 MotionEvent.ACTION_UP 이벤트가 발생합니다. –
'ViewGroup'의 서브 클래스로 작업하고있는'View'가 있습니까? 아이가있는'View '로 작업한다면 좀 더 복잡하다고 생각합니다. – wsanville
여러 터치 포인터가있는 경우 첫 번째 포인터가 'ACTION_DOWN'을 (를) catch하고 다른 포인터가 'ACTION_POINTER_DOWN'을 (를) catch합니다. 마지막 포인터가 'ACTION_UP'을 (를) catch하고 다른 포인터가 'ACTION_POINTER_UP'을 (를) –