ViewPager + Fragment关闭滑动切换效果

来源:互联网 发布:utorrent mac下载很慢 编辑:程序博客网 时间:2024/05/21 14:02

ViewPager + Fragment 做底部导航是经常用到的一种方式。自带滑动切换和点击切换

但是如果老板有一天不想要滑动切换了。或者因为其他原因(与内部的滑动切换冲突了,且冲突不好处理)。那么怎么关闭ViewPager的滑动切换效果呢


其实很简单。重新ViewPager的内部方法不就行了。就是最简单的自定义View

public class MyViewPager extends ViewPager {private boolean isCanScroll = false;public MyViewPager(Context context) {super(context);// TODO Auto-generated constructor stub}public MyViewPager(Context context, AttributeSet attrs) {super(context, attrs);// TODO Auto-generated constructor stub}public void setScanScroll(boolean isCanScroll) {this.isCanScroll = isCanScroll;}@Overridepublic void scrollTo(int x, int y) {super.scrollTo(x, y);}@Overridepublic boolean onTouchEvent(MotionEvent arg0) {// TODO Auto-generated method stubif (isCanScroll) {return super.onTouchEvent(arg0);} else {return false;}}@Overridepublic void setCurrentItem(int item, boolean smoothScroll) {// TODO Auto-generated method stubsuper.setCurrentItem(item, smoothScroll);}@Overridepublic void setCurrentItem(int item) {// TODO Auto-generated method stubsuper.setCurrentItem(item);}@Overridepublic boolean onInterceptTouchEvent(MotionEvent arg0) {// TODO Auto-generated method stubif (isCanScroll) {return super.onInterceptTouchEvent(arg0);} else {return false;}}}
然后在Xml中使用自定义的MyViewPager代替原生的ViewPager就行了

1 0
原创粉丝点击