您的位置:首页 > 移动开发 > Android开发

android viewpager禁止左右滑动

2016-11-23 15:42 239 查看
看到禁止滑动的需求 

立马想到的就是拦截事件

其次重写viewpager

拦截事件 一是事件onTouchEvent 二是拦截器onInterceptTouchEvent

使两者都返回false 达到拦截不响应滑动操作的目的

代码简洁  主要传递的是一种编程思想

public class NoScrollViewPager extends ViewPager {

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

public NoScrollViewPager(Context context) {

super(context);
}

//是否可以滑动
private boolean isCanScroll = true;

//----------禁止左右滑动------------------
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (isCanScroll) {
return super.onTouchEvent(ev);
} else {
return false;
}

}

@Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
if (isCanScroll) {
return super.onInterceptTouchEvent(arg0);
} else {
return false;
}

}
//-------------------------------------------

/**
* 设置 是否可以滑动
* @param isCanScroll
*/
public void setScrollble(boolean isCanScroll) {
this.isCanScroll = isCanScroll;
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: