Android viewpage实现可控制的禁止滑动
Android编程常常使用ViewPager结合Fragment实现可以左右滑动切换的页面,但有时会遇到这样的需求,让ViewPager根据特定条件来控制其是否滑动。
实现思路:重写ViewPager,覆盖onTouchEvent和onInterceptTouchEvent方法,使其返回false,截取ViewPager的事件响应,这样就等于禁止了ViewPager上的滑动事件。
publicclassMyViewPagerextendsViewPager{ privatebooleanscrollble=true; publicMyViewPager(Contextcontext){ super(context); } publicMyViewPager(Contextcontext,AttributeSetattrs){ super(context,attrs); } @Override publicbooleanonTouchEvent(MotionEventev){ if(!scrollble){ returntrue; } returnsuper.onTouchEvent(ev); } @Override publicbooleanonInterceptTouchEvent(MotionEventev){ if(scrollble==false){ returnfalse; }else{ returnsuper.onInterceptTouchEvent(ev); } } publicbooleanisScrollble(){ returnscrollble; } publicvoidsetScrollble(booleanscrollble){ this.scrollble=scrollble; } }
在java代码中初始化MyViewPager后,调用setScrollble()方法,则可控制ViewPager是否滑动,false为不可滑动,true为可滑动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。