阳巧玥,牧园恋人,油色子
android编程常常使用viewpager结合fragment实现可以左右滑动切换的页面,但有时会遇到这样的需求,让viewpager根据特定条件来控制其是否滑动。
实现思路:重写viewpager,覆盖 ontouchevent 和 onintercepttouchevent 方法,使其返回false,截取viewpager的事件响应,这样就等于禁止了viewpager上的滑动事件。
public class myviewpager extends viewpager { private boolean scrollble=true; public myviewpager(context context){ super(context); } public myviewpager(context context, attributeset attrs) { super(context, attrs); } @override public boolean ontouchevent(motionevent ev) { if (!scrollble) { return true; } return super.ontouchevent(ev); } @override public boolean onintercepttouchevent(motionevent ev) { if (scrollble == false) { return false; } else { return super.onintercepttouchevent(ev); } } public boolean isscrollble() { return scrollble; } public void setscrollble(boolean scrollble) { this.scrollble = scrollble; } }
在java代码中初始化myviewpager后,调用setscrollble( )方法,则可控制viewpager是否滑动,false为不可滑动,true为可滑动。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持移动技术网。
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Android Manifest中meta-data扩展元素数据的配置与获取方式
Android实现获取meta-data和build.gradle的值
Android获取清单文件中的meta-data,解决碰到数值为null的问题
解决webview 第二次调用loadUrl页面不刷新的问题
解决Android WebView拦截url,视频播放加载失败的问题
Android webview加载https链接错误或无响应的解决
网友评论