博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[转]Android笔记:ScrollView嵌套ViewPager的滚动冲突解决方法
阅读量:6247 次
发布时间:2019-06-22

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

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,如需转载请自行联系原作者
你可能感兴趣的文章
Python中的module,library,package之间的区别
查看>>
如何处理JSON中的特殊字符
查看>>
客来乐:变革与升级,用技术点燃智慧时代
查看>>
批量创建导入导出域用户
查看>>
Access、Hybrid和Trunk三种模式的理解(转帖)
查看>>
Linux入门(二)
查看>>
创建Writable Materialized View在DB之间增量同步数据
查看>>
运维工程师的职责和前景(一)
查看>>
iptables在网络中的两个经典应用
查看>>
python 异常学习3---python异常except语句用法与引发异常
查看>>
通过测试发现的Exchange 2013 CU16存在的一个小bug
查看>>
jni的中文字符串处理
查看>>
Linux awd
查看>>
带你领略一下真实服务器的鬼样子
查看>>
数据库基础服务SLA模板
查看>>
误删除libc.so.6后的修复
查看>>
在JS中设置Select和radio选中
查看>>
Centos7 安装VNC 和 KVM
查看>>
UML类图几种关系的总结
查看>>
grub和grub2相关概念
查看>>