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为可滑动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。