TabLayout+ViewPager禁止滑动
来源:互联网 发布:淘宝手机店铺怎么装修 编辑:程序博客网 时间:2024/06/02 00:03
1、重写ViewPager并重写覆盖ViewPager的onInterceptTouchEvent(MotionEvent arg0)方法和onTouchEvent(MotionEvent arg0)方法,这两个方法的返回值都是boolean类型的,只需要将返回值改为false,那么ViewPager就不会消耗掉手指滑动的事件了,转而传递给上层View去处理或者该事件就直接终止了。
2、和TabLayout一起使用的时候,点击TabLayout上的按钮还会有滑动的效果,接下来的处理super.setCurrentItem(item, false);表示切换的时候,不需要切换时间。
就可以去掉那个滑动效果了
public class NoScrollViewPager extends ViewPager {
private boolean noScroll = false;
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
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) {
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, false);//表示切换的时候,不需要切换时间。
}
}
2、和TabLayout一起使用的时候,点击TabLayout上的按钮还会有滑动的效果,接下来的处理super.setCurrentItem(item, false);表示切换的时候,不需要切换时间。
就可以去掉那个滑动效果了
public class NoScrollViewPager extends ViewPager {
private boolean noScroll = false;
public NoScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
}
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) {
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, false);//表示切换的时候,不需要切换时间。
}
}
阅读全文
0 1
- TabLayout+ViewPager禁止滑动
- TabLayout+ViewPager禁止滑动
- ViewPager禁止滑动翻页
- 禁止ViewPager滑动方法
- ViewPager禁止滑动
- ViewPager禁止滑动翻页
- ViewPager禁止滑动翻页
- 禁止ViewPager左右滑动
- ViewPager禁止手动滑动
- 禁止viewpager滑动
- android 禁止ViewPager滑动
- 禁止ViewPager左右滑动
- viewpager禁止滑动
- ViewPager禁止左右滑动
- 禁止滑动的ViewPager
- 禁止ViewPager向右滑动
- ViewPager禁止左右滑动
- 禁止ViewPager左右滑动
- saiku无缝对接kylin
- html在线转word ssm
- 王者荣耀
- 大白话讲解小波变换由来
- BIO,NIO,AIO的区别
- TabLayout+ViewPager禁止滑动
- spring 常用的一些命名空间配置方式及作用
- html实现子元素与父元素等高
- QT:知识点总结
- 2017-05-22这一天我突然想写点东西
- 经典dijkstra算法题目及代码
- 2017大学生程序设计邀请赛(华东师范大学)G. 铁路修复计划
- java--kafka编程实例--producer和consumer
- Essential Studio for Windows Forms发布2017 v2,支持office 2016和主题定制