viewpager禁止左右滑动(怎么禁止焦点在viewpager边缘再按键左右滑动)
本文目录
- 怎么禁止焦点在viewpager边缘再按键左右滑动
- 如何实现ViewPager不要滑动切换,只要点击切换
- 求教,怎样禁止ViewPager向右滑动
- ViewPager如何禁止滑动
- Webview&Viewpager滑动冲突解决方案
- ViewPager1嵌入ViewPager2,两者重叠,怎么禁止ViewPager1的滑动功能
怎么禁止焦点在viewpager边缘再按键左右滑动
怎样禁止ViewPager左右滑动呢?大致就是重写ViewPager,覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值都是boolean类型的,只需要将返回值改为false,那么ViewPager就不会消耗掉手指滑动的事件了,转而传递给上层View去处理或者该事件就直接终止了。下面是我的自定义ViewPagerpublic class NoScrollViewPager extends ViewPager { private boolean noScroll = false; public NoScrollViewPager(Context context, AttributeSet attrs) { super(context, attrs); // TODO Auto-generated constructor stub } public NoScrollViewPager(Context context) { super(context); } public void setNoScroll(boolean noScroll) { this.noScroll = noScroll; } @Override public void scrollTo(int x, int y) { super.scrollTo(x, y); } @Override public boolean onTouchEvent(MotionEvent arg0) { /* return false;//super.onTouchEvent(arg0); */ if (noScroll) return false; else return super.onTouchEvent(arg0); } @Override public boolean onInterceptTouchEvent(MotionEvent arg0) { if (noScroll) return false; else return super.onInterceptTouchEvent(arg0); } @Override public void setCurrentItem(int item, boolean smoothScroll) { super.setCurrentItem(item, smoothScroll); } @Override public void setCurrentItem(int item) { super.setCurrentItem(item); }}以上代码特别简单,大家可以直接拷贝使用,无需做任何修改。为了操作方便,我在这个自定义的ViewPager里设置了一个boolean类型的控制变量,并且向外提供了控制ViewPager是否禁止滑动的方法,这样就显得灵活一点了。以下是自定义ViewPager在布局文件中的定义。
如何实现ViewPager不要滑动切换,只要点击切换
重写下 viewpager的 ontouchevent 方法,然后使用自己这个viewpager,即可禁止手势滑动,只要点击滑动,如下,public class CustomViewPager extends ViewPager { private boolean isCanScroll = false; public CustomViewPager(Context context) { super(context); } public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } public void setScanScroll(boolean isCanScroll){ this.isCanScroll = isCanScroll; } @Override public void scrollTo(int x, int y){ // if (isCanScroll){ super.scrollTo(x, y); // } } @Overridepublic void setCurrentItem(int item) {// TODO Auto-generated method stubsuper.setCurrentItem(item);}@Overridepublic boolean onTouchEvent(MotionEvent arg0) { // TODO Auto-generated method stub if (isCanScroll) { return super.onTouchEvent(arg0); } else { return false; }}@Overridepublic boolean onInterceptTouchEvent(MotionEvent arg0) { // TODO Auto-generated method stub if (isCanScroll) { return super.onInterceptTouchEvent(arg0); } else { return false; }}}
求教,怎样禁止ViewPager向右滑动
你可以把viewpager源码拿到你的项目中,修改viewpager的源码来实现。我之前另一种方式实现了进制向右滑---外层包了一个自定义view,通过onInterceptTouchEvent拦截事件,然后判断是否是向右滑动,返回true或false。这个要重写viewpager,然后重写这个方法public boolean dispatchTouchEvent(MotionEvent ev) {// TODO Auto-generated method stubswitch (ev.getAction()) {case MotionEvent.ACTION_DOWN:x = ev.getX();break;case MotionEvent.ACTION_MOVE:mLastMotionX = ev.getX() - x;if(mLastMotionX《0){return false;}break;}return super.dispatchTouchEvent(ev);}你可以试一下,满意请采纳。
ViewPager如何禁止滑动
VIewPager移动全部都调用了scrollTo方法,这个是View的方法,那么我们只需要重写这个方法就可以禁止ViewPager滑动
Java代码
public class CustomViewPager extends ViewPager { private boolean isCanScroll = true; public CustomViewPager(Context context) { super(context); } public CustomViewPager(Context context, AttributeSet attrs) { super(context, attrs); } public void setScanScroll(boolean isCanScroll){ this.isCanScroll = isCanScroll; } @Override public void scrollTo(int x, int y){ if (isCanScroll){ super.scrollTo(x, y); } }
Webview&Viewpager滑动冲突解决方案
感谢这些作者的分享
ViewPager1嵌入ViewPager2,两者重叠,怎么禁止ViewPager1的滑动功能
你可以给ViewPager里面放View,比如说一个空的FrameLayout,当你划过去后,给这个FrameLayout绑定Fragment,这时候Fragment才会去加载 查看原帖》》
更多文章:
htcm10美版可以刷国行吗(美版手机和国行有什么区别可以通过刷机让它变成国行的吗)
2023年3月10日 04:45
诺基亚e71ngage(三星I8510 和NOKIA E71大家觉得哪个好啊还有E71和E63也选不好啊)
2024年7月11日 03:12
相机拍视频想买一个稳定器请老师们帮忙选一下,谢谢啦?自驾游拍视频用稳定器好还是运动相机好
2023年10月5日 02:20
荣耀60参数配置8+256(荣耀60买128g还是256g)
2024年7月20日 10:00
小米公司薪酬等级结构图(98.18亿元年薪的雷军,小米公司为何给雷军高薪,是行业最高吗)
2024年3月21日 16:30
菲利普亲王为英女王成赘婿,放弃王子身份,他们究竟有多恩爱?菲利普亲王的介绍
2024年4月29日 23:59
一光四电光纤收发器(一光4电光纤收发器可以接4个8口交换机吗监控用)
2024年6月29日 08:14
富士施乐打印机s2110说明书(富士施乐s2110扫描怎么用)
2024年5月15日 10:58
g7011国道徽县到略阳段油罐车能走吗?G70与G7011这两高速路有什么关系
2023年8月31日 04:20