我有一个ViewPager图像,我想以下列方式滑动:
如果单击屏幕的右侧(左侧),请转到上一个(下一个)图像。这就像屏幕是两半,每一半都在点击方向移动。
我该如何实现?
答案 0 :(得分:0)
你可以get Disaplay width
然后,您可以在viewpager中覆盖onTouchEvent。
当您获得MotionEvent对象时 - 您可以获得“点击”坐标,您将能够理解屏幕用户点击并处理它。
答案 1 :(得分:0)
为触摸侦听器设置ViewPager
或ViewPager
项目的内容视图。
取屏幕/视图宽度的一半,检查event.getX()
是否大于半值,如果是,请转到下一个,否则转到上一个。
@Override
public boolean onTouch(View v, MotionEvent ev) {
if(ev.getAction() == MotionEvent.ACTION_DOWN){
mDownX = ev.getX();
mDownY = ev.getY();
isOnClick = true;
}else if(ev.getAction() == MotionEvent.ACTION_UP ){
if (isOnClick ) {
if(ev.getX() > mViewPager.getWidth()/2) {
//go to next
}else{
//go to previous
}
return true;
}
}else if(ev.getAction() == MotionEvent.ACTION_MOVE){
if (isOnClick && (Math.abs(mDownX - ev.getX()) > DRAG_THRESHOLD || Math.abs(mDownY - ev.getY()) > DRAG_THRESHOLD)) {
isOnClick = false;
return false;
}
}
return false
}