需求是可以通过点击tab切换ViewPager,但是禁用ViewPager本身的滑动切换。
找了很久才找到合适的解决方案,所以标记一下。
1、方案一,通过重写了ScrollTo()方法,完全禁用了ViewPager的滑动,通过setCurrentItem()也无法进行切换。
http://blog.csdn.net/hero_zhouwu/article/details/9071355
2、方案二,通过重写OnTouchEvent()方法,禁用ViewPager的OnTouch事件。事实证明每次滑动都会产生一点位移,体验很不好。
http://my.oschina.net/u/1024921/blog/131485
3、方案三,通过自定义ViewPager的子类,重写OnTouchEvent()和onInterceptTouchEvent(MotionEvent arg0) 来禁用滑动事件。通过使用这种方法成功完成需求。事实上,OnTouchEvent重写和方案二的效果相同,真正起到作用的是重写onInterceptTouchEvent方法。
http://www.cnblogs.com/longhs/p/4173688.html