ScrollView 里嵌套WebView,WebView不能上下滑动或卡顿
2016-07-20 16:03
531 查看
自定义一个MyScrollView
(重点在红色加粗的 return false;之前别人文章都是return true;结果并不能解决问题,改成false即可。)
public class MyScrollView extends ScrollView {
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener;
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
setFadingEdgeLength(0);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)&& mGestureDetector.onTouchEvent(ev);
}
// Return false if we're scrolling in the x direction
class YScrollDetector extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
if (Math.abs(distanceY) > Math.abs(distanceX)) {
<span style="color:#ff0000;"> <strong>return false;</strong></span>
}
return false;
}
}
}
然后把你布局里的ScrollView改成MyScrollView就可以了
重点在红色加粗的 return false;之前别人文章都是return true;结果并不能解决问题,改成false即可。
(重点在红色加粗的 return false;之前别人文章都是return true;结果并不能解决问题,改成false即可。)
public class MyScrollView extends ScrollView {
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener;
public MyScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
setFadingEdgeLength(0);
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)&& mGestureDetector.onTouchEvent(ev);
}
// Return false if we're scrolling in the x direction
class YScrollDetector extends GestureDetector.SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
if (Math.abs(distanceY) > Math.abs(distanceX)) {
<span style="color:#ff0000;"> <strong>return false;</strong></span>
}
return false;
}
}
}
然后把你布局里的ScrollView改成MyScrollView就可以了
重点在红色加粗的 return false;之前别人文章都是return true;结果并不能解决问题,改成false即可。
相关文章推荐
- PagerSlidingTabStrip嵌套PagerSlidingTabStrip的Touch事件冲突解决
- 解决ListView setOnItemLongClickListener 长按无响应(嵌套GridView)
- 解决blur与click冲突
- Android开发新手可能遇到的问题(续)
- onTouchEvent事件冲突
- android一些常用基础UI控件(比较适合给新手参考)
- Web页面多对象多文档事件冲突的解决方案
- js处理一个div里面多个点击事件时出现的事件冲突 重复的解决方法 事件冒泡
- ViewPager禁止滑动以及它与内层滑动控件水平方向上事件冲突的解决方法
- 一张图带你理解事件分发过程
- 关于我的第一个项目的登陆模块心得
- GestureDetector与ScrollView事件冲突解决方法
- Fragment中处理触摸事件
- popwindow创建以及事件拦截与内部包含checkbox选中
- 事件分发机制详解
- Android探索之旅(第二十一篇)Android中事件冲突的解决收集(持续收录中......)
- 解决android view的touch和click事件冲突
- Gridview事件跟它item布局中的控件事件冲突
- 高仿淘宝商品商品上拉加载SlideDetailsLayout+viewPager事件冲突
- Android事件分发机制源码分析下----ViewGroup事件分发分析