ViewPager禁用左右滑动
来源:互联网 发布:暗影格斗2mac破解 编辑:程序博客网 时间:2024/05/28 15:53
ViewPager 禁用左右滑动的方法:
继承ViewPager在dispatchTouchEvent方法中处理。主要代码如下:
private float x=0,x1=0; private boolean a = false; @Override public boolean dispatchTouchEvent(MotionEvent ev) { if(isDisable){//标志是否禁用左右滑动 //这里注意了多点触控时一定要这样的的 switch(ev.getAction() & MotionEvent.ACTION_MASK){ case MotionEvent.ACTION_DOWN: x = ev.getX(); break; case MotionEvent.ACTION_POINTER_DOWN: x1 = ev.getX(ev.getPointerCount()-1); a = true; break; case MotionEvent.ACTION_POINTER_UP: a = false; break; case MotionEvent.ACTION_UP: a = false; x = x1; break; case MotionEvent.ACTION_MOVE: //在水平方向上不可滑动 if(a){ float xx = ev.getX(ev.getPointerCount()- 1); ev.offsetLocation(x1 -xx,0); }else{ ev.setLocation(x, ev.getY()); } break; } } return super.dispatchTouchEvent(ev); }
完整类的下载地址:http://download.csdn.net/detail/yukun314/9016307
在该类中实现了设置禁用左右滑动,关于viewPager复杂切换问题的解决,自定义切换动画(使用setCurrentItem时,由于默认的时间很短 没有效果)。用法都比较简单就不上代码了。
发现这样多点触控时仍然有可以左右滑动的情况,修改为(下载资源中没有修改)
float x=0; @Override public boolean dispatchTouchEvent(MotionEvent ev) { if(isDisable){ switch(ev.getAction()){ case MotionEvent.ACTION_DOWN: x = ev.getX(); break; case MotionEvent.ACTION_MOVE: //在水平方向上不可滑动 ev.setLocation(x, ev.getY()); break; } switch(ev.getAction() & MotionEvent.ACTION_MASK){ case MotionEvent.ACTION_POINTER_DOWN: case MotionEvent.ACTION_POINTER_UP: return true; } } return super.dispatchTouchEvent(ev); }
如有错误或更好的建议,欢迎提出!
0 0
- viewpager禁用左右滑动
- ViewPager禁用左右滑动
- viewpager禁用左右滑动和去掉中间的切换页面
- 禁用ViewPager左右滑动(只通过按钮切换)
- ViewPager动态开启和禁用左右滑动功能
- viewpager 实现左右滑动
- ViewPager左右循环滑动
- ViewPager左右滑动效果
- viewpager左右循环滑动
- 禁止ViewPager左右滑动
- 禁止ViewPager左右滑动
- viewpager无限左右滑动
- viewpager左右滑动
- ViewPager禁止左右滑动
- ViewPager禁止左右滑动
- 禁止ViewPager左右滑动
- viewpager 左右滑动笔记
- Viewpager禁止左右滑动
- 黑马程序员——Java程序的初始化过程详解
- 素数的判定
- 使用git-flow来帮助管理git代码
- hdu1874 畅通工程续 最短路 floyd或dijkstra或spfa
- C. Arthur and Table(Codeforces Round #311 (Div. 2) 贪心)
- ViewPager禁用左右滑动
- leetcode 132: Palindrome Partitioning II
- object hbase is not a member of package org.apache.hadoop
- Java中enum的学习总结
- Amazon Kinesis简介
- Facade——结构模式
- JAVA学习(十)__MessageFormat用法
- 每日五道题(struts2)
- Leetcode 211 Add and Search Word - Data structure design