之前在项目中需要使用CoordinatorLayout + ViewPager,但是实际操作体验不好,CoordinatorLayout 上滑时,很容易顺带把ViewPager横向滑动,于是变写了个禁止横向滑动的ViewPager,代码如下:
package com.xx.widget;
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
public class NoScrollViewPager extends ViewPager {
private boolean mScrollble = true;
public NoScrollViewPager(Context context) {
super(context);
}
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
@Override
public void scrollTo(int x, int y) {
super.scrollTo(x, y);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
if (!mScrollble) {
return false;
}
return super.onTouchEvent(ev);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
if (!mScrollble) {
return false;
}
return super.onInterceptTouchEvent(ev);
}
public boolean isScrollble() {
return mScrollble;
}
public void setScrollble(boolean scrollble) {
this.mScrollble = scrollble;
}
}