博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自定义ViewPager,避免左右滑动时与水平滑动控件冲突
阅读量:7221 次
发布时间:2019-06-29

本文共 1577 字,大约阅读时间需要 5 分钟。

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); } }

转载于:https://www.cnblogs.com/agilezhu/p/5881176.html

你可能感兴趣的文章
mysql总结
查看>>
Navicat for MySQL版本更新至v11.2.12,修复多项问题|附下载
查看>>
整理 JAVA中的IO流 (字符流和字节流两个大类)
查看>>
uefi与win8 (根据网络资料整理)
查看>>
Eclipse优化
查看>>
Log4j tutorial with Tomcat examples
查看>>
Kong 网关
查看>>
三层结构视频中的DBHelper.cs
查看>>
[转载] 信息系统项目管理师视频教程——18 项目沟通管理
查看>>
在Windows下建立QT开发环境
查看>>
Jedis、JedisPool、ShardedJedis和ShardedJedisPool,java对redis的基本操作
查看>>
[转载] 致命伴侣
查看>>
HTML5 localStorage本地存储实际应用举例
查看>>
Scala访问修饰符
查看>>
实习感悟
查看>>
产品经理网站小结
查看>>
Bootstrap 附加导航插件
查看>>
如何设置启动SMTP、POP3以及IMAP4的SSL服务端口?
查看>>
自制函数strcpy
查看>>
gSoap开发(三)——WSDL简介
查看>>