/**
* 禁止滑动的ViewPager
*/
public class NoScrollViewPager extends ViewPager {
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
public NoScrollViewPager(Context context) {
super(context);
}
@Override
public boolean onTouchEvent(MotionEvent ev) {
//重写父类onTouchEvent, 此处什么都不做, 从而达到禁用事件的目的
return true;
}
//事件中断,拦截
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
//true表示拦截, false不拦截,传给子控件
return false;//标签页的ViewPager不拦截新闻菜单详情页页签的ViewPager
}
}
//TabPageIndicator中重写dispatchTouchEvent方法
//事件处理: dispatchTouchEvent->onInterceptTouchEvent->onTouchEvent
//事件分发
@Override
public boolean dispatchTouchEvent(MotionEvent ev) {
//请求父控件和祖宗控件不要拦截事件
getParent().requestDisallowInterceptTouchEvent(true);
return super.dispatchTouchEvent(ev);
}