自定义ViewPager,避免左右滑动时与水平滑动控件冲突
2024-10-08 07:46:24
import android.content.Context;
import android.support.v4.view.ViewPager;
import android.util.AttributeSet;
import android.view.MotionEvent;
import android.view.View;
public class CanScrollViewPager extends ViewPager {
private boolean mNoScroll = false;//标记不允许左右滚动 /**
* @param context
* @param attrs
*/
public CanScrollViewPager(Context context, AttributeSet attrs) {
super(context, attrs);
} /**
* @param context
*/
public CanScrollViewPager(Context context) {
super(context);
} @Override
protected boolean canScroll(View v, boolean checkV, int dx, int x, int y) {
if (v != this && (v instanceof PageWebView || v instanceof HorizontalGalleryView)) {
requestDisallowInterceptTouchEvent(true);
return true;
}
return super.canScroll(v, checkV, dx, x, y);
} @Override
public boolean dispatchTouchEvent(MotionEvent ev) {
switch (ev.getAction()) {
case MotionEvent.ACTION_UP:
case MotionEvent.ACTION_CANCEL:
break;
default:
break;
}
return super.dispatchTouchEvent(ev);
} //设置不允许左右滚动
public void setNoScroll(boolean noScroll) {
this.mNoScroll = noScroll;
} @Override
public boolean onTouchEvent(MotionEvent arg0) {
if (mNoScroll) {
return false;
}
return super.onTouchEvent(arg0);
} @Override
public boolean onInterceptTouchEvent(MotionEvent arg0) {
if (mNoScroll) {
return false;
} return super.onInterceptTouchEvent(arg0);
}
}
最新文章
- PHP面向对象05_接口与多态
- c#中如何执行存储过程
- [poj2484]A Funny Game(对称博弈)
- 【noiOj】p8207(233)
- pytho day6 <;正则表达式、常用模块、反射>;
- linux系统中如何查看日志 (常用命令2)
- netty中LengthFieldBasedFrameDecoder的使用
- 配置dg出现的错误
- ASP.NET取得Request URL的各个部分
- Redis 如何导出数据
- 初探JS-html5移动端发送指定内容短信到指定号码
- SQL Server存储过程和游标有关实例以及相关网址
- struts2 之 Action的创建方式
- Shiro固定身份验证
- JavaScript基础教程2-20160612
- [GIT] 更新.repo目录
- 2018-2019-1 20189201 《LInux内核原理与分析》第五周作业
- <;转>;jmeter(二十一)jmeter常用插件介绍
- B2C,C2B,B2B,C2C,O2O,O2P
- vue-scroller的使用 实现下拉刷新 上拉加载初始效果
热门文章
- b站德云社相声合集
- linux - mysql 异常:/usr/bin/which: no mysql in
- -bash: mysqld: command not found
- 理解 Oracle 多租户体系中(12c,18c,19c)创建用户作用域范围
- MySQL 8.0.18 在 Windows Server 2019 上的安装(MSI)公开
- import 与 from...import
- 题解【洛谷P1967】[NOIP2013]货车运输
- c#中转义字符\n和\r的区别
- Laravel-admin 刷新页面后,左侧菜单栏怎么默认选中当前栏目
- 【转载】各种SQL在PIG中实现