创建简单的手势滑动从左到右,从右到左手势、简单、右到左、左到右

2023-09-12 05:01:51 作者:在劫难逃

我要创建两个活动之间的简单滑动手势,我寻觅了很多有类似below.But我的疑问是如何可以用滑动手势!我刷的活动或视图

I want to create simple swipe gestures between two activity ,i have searched a lot got something like below.But my doubt is how could i swipe the activity or view using swipe gesture!!

class MyGestureDetector extends SimpleOnGestureListener {
        @Override
        public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {
            try {
                if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                    return false;
                // right to left swipe
                if(e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                    Toast.makeText(SelectFilterActivity.this, "Left Swipe", Toast.LENGTH_SHORT).show();
                }  else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                    Toast.makeText(SelectFilterActivity.this, "Right Swipe", Toast.LENGTH_SHORT).show();
                }
            } catch (Exception e) {
                // nothing
            }
            return false;
        }

希望有人可以帮助我走出@Thanks!

Hope anybody will help me out @Thanks!

推荐答案

现在试试这个code ..

Try this code now..

page = (LinearLayout) findViewById(R.id.flipper);

@Override
public boolean dispatchTouchEvent(MotionEvent event) {
    super.dispatchTouchEvent(event);
    return gestureDetector.onTouchEvent(event);
}

SimpleOnGestureListener simpleOnGestureListener = new SimpleOnGestureListener() {

    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
            float velocityY) {

        float sensitvity = 50;
        if ((e1.getX() - e2.getX()) > sensitvity) {
            SwipeLeft();
        } else if ((e2.getX() - e1.getX()) > sensitvity) {
            SwipeRight();
        }

        return true;
    }

};

 GestureDetector gestureDetector = new GestureDetector(
        simpleOnGestureListener);



private void SwipeLeft() {

     page.setInAnimation(animFlipInForeward);
      page.setOutAnimation(animFlipOutForeward);
      page.showNext();

}


 private void SwipeRight() { 

     page.setInAnimation(animFlipInBackward);
     page.setOutAnimation(animFlipOutBackward);
     page.showPrevious();

}