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才会去加载 查看原帖》》
更多文章:
红杏晾衣架质量好不好啊谁知道红杏怎么样呢?红杏直播怎么关礼物特效
2024年5月23日 09:26
怎么样管理好一个理发店的员工?有好用的美发会员管理app吗求推荐一款好用免费的
2024年3月2日 04:15
为啥易读网文章 只能看一页,下页不能翻,怎样解决?易读网的介绍
2024年6月20日 03:57
历史上有哪些难以攻破的堡垒?中世纪发生过那些著名的城堡攻防战
2023年12月21日 05:40
7k7k洛克王国官网(腾讯官网的洛克王国4399的洛克王国7K7K洛王国有什么不一样)
2024年5月12日 16:35
如何将 Windows 更新代理更新至最新版本?谁有最新国内的IP代理地址
2024年4月18日 06:10
混沌起源之剑灵觉醒激活码兑换怎么领取激活码?剑灵兑换码在哪兑换
2023年12月15日 06:35
qq家园 有个美味小镇 怎么没有了?美味小镇收购功能怎么玩啊
2024年4月2日 08:55
绝地求生怎么玩老地图(绝地求生怎么玩老地图 绝地求生旧地图怎么选)
2023年11月17日 08:10