[转]Android笔记:ScrollView嵌套ViewPager的滚动冲突解决方法

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
/**
  * 能够兼容ViewPager的ScrollView
  * @Description: 解决了ViewPager在ScrollView中的滑动反弹问题
  */
public  class  ScrollViewExtend  extends  ScrollView {
     // 滑动距离及坐标
     private  float  xDistance, yDistance, xLast, yLast;
     public  ScrollViewExtend(Context context, AttributeSet attrs) {
         super (context, attrs);
     }
     @Override
     public  boolean  onInterceptTouchEvent(MotionEvent ev) {
         switch  (ev.getAction()) {
             case  MotionEvent.ACTION_DOWN:
                 xDistance = yDistance = 0f;
                 xLast = ev.getX();
                 yLast = ev.getY();
                 break ;
             case  MotionEvent.ACTION_MOVE:
                 final  float  curX = ev.getX();
                 final  float  curY = ev.getY();
                    
                 xDistance += Math.abs(curX - xLast);
                 yDistance += Math.abs(curY - yLast);
                 xLast = curX;
                 yLast = curY;
                    
                 if (xDistance > yDistance){
                     return  false ;
                 }
         }
         return  super .onInterceptTouchEvent(ev);
     }
}





本文转自 glblong 51CTO博客,原文链接:http://blog.51cto.com/glblong/1307717,如需转载请自行联系原作者

目录
相关文章
|
4月前
|
Android开发 容器
35. 【Android教程】视频页面:ViewPager
35. 【Android教程】视频页面:ViewPager
50 3
|
2月前
|
JavaScript 前端开发 Java
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
IT寒冬使APP开发门槛提升,安卓程序员需转型。选项包括:深化Android开发,跟进Google新技术如Kotlin、Jetpack、Flutter及Compose;研究Android底层框架,掌握AOSP;转型Java后端开发,学习Spring Boot等框架;拓展大前端技能,掌握JavaScript、Node.js、Vue.js及特定框架如微信小程序、HarmonyOS;或转向C/C++底层开发,通过音视频项目如FFmpeg积累经验。每条路径都有相应的书籍和技术栈推荐,助你顺利过渡。
47 3
FFmpeg开发笔记(四十七)寒冬下安卓程序员的几个技术转型发展方向
|
2月前
|
Android开发
Android使用ViewPager做无限轮播,人为滑动时停止
Android使用ViewPager做无限轮播,人为滑动时停止
27 2
|
2月前
|
编解码 安全 Ubuntu
Android Selinux 问题处理笔记
这篇文章是关于处理Android系统中SELinux权限问题的笔记,介绍了如何通过分析SELinux拒绝的日志、修改SELinux策略文件,并重新编译部署来解决权限问题,同时提供了一些SELinux的背景知识和实用工具。
41 0
|
4月前
|
Java API Android开发
技术经验分享:Android源码笔记——Camera系统架构
技术经验分享:Android源码笔记——Camera系统架构
46 0
|
4月前
|
编解码 Android开发
Android 解决TextView多行滑动与NestedScrollView嵌套滑动冲突的问题
Android 解决TextView多行滑动与NestedScrollView嵌套滑动冲突的问题
58 0
|
5月前
|
Android开发
Android使用ViewPager实现图片轮播系列之三:手动滑动 + 左右箭头(1)
Android使用ViewPager实现图片轮播系列之三:手动滑动 + 左右箭头(1)
|
5月前
|
Java 测试技术 开发工具
Android 笔记:AndroidTrain , Lint , build(1),只需一篇文章吃透Android多线程技术
Android 笔记:AndroidTrain , Lint , build(1),只需一篇文章吃透Android多线程技术
|
5月前
|
设计模式 缓存 前端开发
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
真的强!借助阿里技术博主分享的Android面试笔记,我拿到了字节跳动的offer
|
5月前
|
Android开发
Android stdio 无法新建或打开AIDL文件(解决方法)
Android stdio 无法新建或打开AIDL文件(解决方法)
403 0