독서 노트 - View의 미끄럼 충돌
3814 단어 슬라이딩 충돌
View 슬라이딩 충돌
흔히 볼 수 있는 미끄럼 충돌은 흔히 볼 수 있다
슬라이딩 충돌 해결 방법
public boolean onInterceptTouchEvent(MotionEvent ev){
boolean intercepted=false;
int x=(int)ev.getX();
int y=(int)ev.getY();
switch(ev.getAction){
case MotionEvent.ACTION_DOWN:
intercepted=false;
break;
case MotionEvent.ACTION_MOVE:
if( ){
intercepted=true;
}else{
intercepted=false;
}
break;
case MotionEvent.ACTION_UP:
intercepted=false;
break;
default:
break;
}
mLastXIntercept=x;
mLastYIntercept=y;
return intercepted;
}
public boolean dispatchTouchEvent(MotionEvent ev){
int x=(int)ev.getX();
int y=(int)ev.getY();
switch(ev.getAction){
case MotionEvent.ACTION_DOWN:
parent.requestDisallowInterceptTouchEvent(true);
break;
case MotionEvent.ACTION_MOVE:
int deltaX=x-mLastX;
int deltaY=y-mLastY;
if( ){
parent.requestDisallowInterceptTouchEvent(false);
}
break;
case MotionEvent.ACTION_UP:
break;
default:
break;
}
mLastX=x;
mLastY=y;
return super.dispatchTouchEvent(ev);
}
이 방법에서 왜 모 컨테이너가 ACTION을 차단할 수 없습니까DOWN 이벤트?ACTION 때문에...DOWN 이벤트는 FLAG 을 받지 않습니다.DISALLOW_INTERCEPT라는 표지 위치를 제어하기 때문에 부모 용기가 ACTION을 차단하면DOWN 이벤트는 모든 이벤트가 하위 요소로 전달되지 않기 때문에 내부 차단이 작동하지 않습니다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Android 터치 이벤트 배포 메커니즘 요약boolean Activity.dispatchTouchEvent(MotionEvent ev) boolean ViewGroup.dispatchTouchEvent(MotionEvent ev) PS. View Group의...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.