레이아웃을 직접 만들고 레이아웃의 onInterceptTouchEvent (MotionEvent ev) 메서드를 재정의해야합니다. onInterceptTouchEvent
는 항상 true를 반환의 때문에 예를 들어
내가
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return true; // With this i tell my layout to consume all the touch events from its childs
}
@Override
public boolean onTouchEvent(MotionEvent event) {
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
// Log.d(TAG, String.format("ACTION_DOWN | x:%s y:%s",
break;
case MotionEvent.ACTION_MOVE:
//Log.d(TAG, String.format("ACTION_MOVE | x:%s y:%s",
break;
case MotionEvent.ACTION_UP:
break;
}
return true;
}
을 RelativeLayout의 확장 내 자신의 레이아웃을 생성 그리고 난 내 레이아웃에 버튼을 둘 때, 심지어 난 그 버튼을 클릭, 내 레이아웃은 모든 touchEvent 소비 . onclick을 = "tapEvent를"당신이 클릭을하려는 레이아웃 :
희망이 당신이
감사합니다. 시도해 보겠습니다. –
코드에서 onInterceptTouchEvent를 재정의하는 방법을 알지 못했습니다. 모든 버튼 또는 부모 레이아웃에 대해이 작업을 수행해야합니까? –
부모 레이아웃 용으로 만 사용해야합니다. 30 분 정도 기다려야 만 내 대답을 편집 할 수 있습니다. 지금 당장 출근해야합니다 –