Android:如何在片段之间滑动(左 - 右)?

时间:2016-11-11 06:51:27

标签: android android-fragments android-recyclerview

我不想使用viewpager,因为我必须轻松添加,删除,重新排序片段(与ViewPager合并这样做)。

所以在每个片段中我使用手势检测器:

final GestureDetector mGesture = new GestureDetector(getActivity(),
        new GestureDetector.SimpleOnGestureListener() {

            @Override
            public boolean onDown(MotionEvent e) {
                return true;
            }

            @Override
            public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
                                   float velocityY) {
                LogUtils.LOGD(TAG, "onFling has been called!");
                final int SWIPE_MIN_DISTANCE = 120;
                final int SWIPE_MAX_OFF_PATH = 250;
                final int SWIPE_THRESHOLD_VELOCITY = 200;
                try {
                    if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH)
                        return false;
                    if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE
                            && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                        EventBus.getDefault().post(new SwipePartTrainingEvent(true));
                        LogUtils.LOGD(TAG, "Right to Left");
                    } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE
                            && Math.abs(velocityX) > SWIPE_THRESHOLD_VELOCITY) {
                        EventBus.getDefault().post(new SwipePartTrainingEvent(false));
                        LogUtils.LOGD(TAG, "Left to Right");
                    }
                } catch (Exception e) {
                    // nothing
                }
                return super.onFling(e1, e2, velocityX, velocityY);
            }
        });

在每个片段中,我都有一个包含不同项目的recyclerview。如果我在recyclerview之外滑动(高度为wrap_content),手势可以正常工作。但是在recyclerview(在项目上),滑动不起作用。

那么我该如何在片段上的任何地方滑动?

非常感谢

0 个答案:

没有答案