相关疑难解决方法(0)

如何禁用ViewPager从一个方向滑动

我想允许用户ViewPager仅从右向左滑动.因此,一旦他通过一个页面,他就无法回到它.如何才能做到这一点?

我试过这个解决方案:

public class CustomViewPager extends ViewPager {

float lastX = 0;

boolean lockScroll = false;

public CustomViewPager(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public CustomViewPager(Context context) {
    super(context);
}

@Override
public boolean onTouchEvent(MotionEvent ev) {

    switch (ev.getAction()) {
    case MotionEvent.ACTION_DOWN:
        lastX = ev.getX();
        lockScroll = false;
        return super.onTouchEvent(ev);
    case MotionEvent.ACTION_MOVE:

        if (lastX > ev.getX()) {
            lockScroll = false;
        } else {
            lockScroll = true;
        }

        lastX = ev.getX();
        break;
    }

    lastX = ev.getX();

    if(lockScroll) …
Run Code Online (Sandbox Code Playgroud)

android swipe android-viewpager

29
推荐指数
2
解决办法
2万
查看次数

一方面ViewPager只能刷卡

我的应用程序中有一个ViewPager,我想在任何时候禁用/允许滑动到右侧.viewpager中的每个视图都包含ListView.我怎样才能做到这一点?我试图用这种方式做到这一点:

private int oldX;
private int deltaX = 0;

@Override
public boolean onTouch(View view, MotionEvent motionEvent) {
    if (motionEvent.getAction() == MotionEvent.ACTION_MOVE || motionEvent.getAction() == MotionEvent.ACTION_DOWN) {
        int newX = (int) motionEvent.getX();
        deltaX = oldX - newX;
        oldX = newX;
    }
    if (motionEvent.getAction() == MotionEvent.ACTION_UP) {
        oldX = 0;
    }
    return deltaX < 0;        
}
Run Code Online (Sandbox Code Playgroud)

但观点仍然偏向右侧.有人在解决同样的问题吗?

android android-viewpager

4
推荐指数
1
解决办法
5980
查看次数

标签 统计

android ×2

android-viewpager ×2

swipe ×1