Detect swipe using onTouchListener in ScrollView

前端 未结 3 1498
春和景丽
春和景丽 2021-01-05 15:24

I\'m using the following code to detect swipe in my Activity:

getWindow().getDecorView().getRootView().setOnTouchListener(new OnTouchListener() {
                    


        
3条回答
  •  误落风尘
    2021-01-05 16:06

    You must set OntouchListener to ScrollView.

    ScrollView scrollView = (ScrollView)findViewById(R.id.scrollView1);
    scrollView.setOnTouchListener(new View.OnTouchListener() {
                @Override
                public boolean onTouch(View v, MotionEvent event) {
                    switch(event.getAction()){
                        case MotionEvent.ACTION_DOWN:{
                            downX = event.getX();}
                        case MotionEvent.ACTION_UP:{
                            upX = event.getX();
    
                            float deltaX = downX - upX;
    
                            if(Math.abs(deltaX)>0){
                                if(deltaX>=0){
                                    swipeToRight();
                                    return true;
                                }else{
                                    swipeToLeft();
                                    return  true;
                                }
                            }
                        }
                    }
    
                    return false;
                }
    });
    

提交回复
热议问题