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