android - 创建从左向右和从右向左滑动的简单手势

标签 android android-activity swipe-gesture

我想在两个 Activity 之间创建简单的滑动手势,我搜索了很多类似下面的内容。但我的疑问是我如何滑动 Activity 或使用滑动手势查看!!

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!

最佳答案

现在试试这段代码..

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();

}

关于android - 创建从左向右和从右向左滑动的简单手势,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15830832/

相关文章:

Android - 更有效地使用 CPU 内核

java - AsyncTask 中的循环器

Android:按下 "back"按钮时如何恢复列表数据?

android - 单击后退按钮时无法禁用过渡动画

android - 单击时如何为 ListView 中的项目设置动画?

Android:滑动后点击对 Recycler Item 不起作用

android - 我怎样才能在我的应用程序中实现 longclickable

java - Cursor 是否有独立的数据,或者它只是一个指向数据的指针?

java - 在一个Activity中组织多个Fragment接口(interface)

ios - 滑动然后按住 - touchesBegan/touchesMoved/touchesEnded