Android 横扫

Android 横扫,android,viewpage,Android,Viewpage,我需要在广播组中的问题列表和它们各自的选择之间水平滑动。我读到我有不同的选择,例如: 1-手势检测器 2-查看页面 3-查看包含片段的页面 我尝试过ViewPage,但在如何向后滑动和指示用户已检查哪个选项方面,我面临着不同的问题。 我需要使用最简单的方法向前和向后滑动(指示已选中的选项) 我希望尽可能地依赖Andriod方法,而不存储选中的选项,例如我自己,因为我相信从运行时或代码大小来看,这类方法更优化。 如果我还可以使用其他类,请指导我,或者哪一个类最适合执行我的目标我将使用带片段页面编辑

我需要在广播组中的问题列表和它们各自的选择之间水平滑动。我读到我有不同的选择,例如: 1-手势检测器 2-查看页面 3-查看包含片段的页面

我尝试过ViewPage,但在如何向后滑动和指示用户已检查哪个选项方面,我面临着不同的问题。 我需要使用最简单的方法向前和向后滑动(指示已选中的选项)

我希望尽可能地依赖Andriod方法,而不存储选中的选项,例如我自己,因为我相信从运行时或代码大小来看,这类方法更优化。
如果我还可以使用其他类,请指导我,或者哪一个类最适合执行我的目标

我将使用
片段页面编辑器的
查看页面
。适配器的项将是同一片段的不同实例。每个片段将包含一个静态问题文本和一组可能的问题答案。
ViewPager
然后将负责用一个片段替换另一个片段。

我强烈推荐此库:


非常可定制。

您可以轻松使用手势检测器创建一个类,该类扩展了
SimpleOnGestureListener
,该类具有类似以下方法的
onFling
方法:

protected class ExampleGestureDetector extends SimpleOnGestureListener {
    @Override
    public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) {

        if (Math.abs(e1.getY() - e2.getY()) > SWIPE_MAX_OFF_PATH) {// User swipe vertically
        }
        if (e1.getX() - e2.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_MIN_VELOCITY) {// Right swipe
        } else if (e2.getX() - e1.getX() > SWIPE_MIN_DISTANCE && Math.abs(velocityX) > SWIPE_MIN_VELOCITY) {// Left swipe
        }
        return false;
    }

}
你只需要定义你想要的变量,创建你的手势检测器

gestureDetector = new GestureDetector(new ExampleGestureDetector());
并重新定义所需视图的触摸侦听器

view.setOnTouchListener(new View.OnTouchListener() {

            @Override
            public boolean onTouch(View wv, MotionEvent event) {
                return gestureDetector.onTouchEvent(event);
            }
        });
编辑:测试后,它似乎只适用于可滚动项