android 사용자 정의 View 이벤트 길게 누르기

2662 단어 andorid
최근에 주식 거래를 하는 앱을 개발했는데 장시간 동향도에 따라 십자선이 나타나는 효과와 관련된다. 실현 원리: 온터치 사건을 다시 쓰고 actionDown에 현재의downTime 시간을 기록하고 Actionmove에 현재의 이벤트 타임 시간을 기록합니다. 만약에 이벤트 타임-downTime이 1000보다 크면 긴 이벤트로 간주됩니다. 핵심 코드는 다음과 같습니다.
public boolean onTouchEvent(MotionEvent event) {
    if(event.getAction()==MotionEvent.ACTION_DOWN){
        Log.e("actionDown","   x="+x+" y="+y);
        x= event.getX();
        y=event.getY();
        downTime=event.getDownTime();
    }else if (event.getAction()==MotionEvent.ACTION_MOVE){
        x=event.getX();
        y=event.getY();
        if(event.getEventTime()-downTime>1000){
            Log.e("action move", "       ");
            postInvalidate();
        }

    }else if(event.getAction()==MotionEvent.ACTION_UP){
        long time=event.getEventTime();
        Log.e("event actionUp",time+" downTime="+event.getDownTime());
    }

    return true;
}



좋은 웹페이지 즐겨찾기