Android ScrollView与ViewPager滑动上下左右冲突
2015-01-05 19:06
477 查看
重写ScrollView
public class CustomScrollView extends ScrollView {
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener;
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
public CustomScrollView(Context context) {
super(context);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)
&& mGestureDetector.onTouchEvent(ev);
}
class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
if (Math.abs(distanceY) > Math.abs(distanceX)) {
return true;
}
return false;
}
}
}
public class CustomScrollView extends ScrollView {
private GestureDetector mGestureDetector;
View.OnTouchListener mGestureListener;
public CustomScrollView(Context context, AttributeSet attrs) {
super(context, attrs);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
public CustomScrollView(Context context) {
super(context);
mGestureDetector = new GestureDetector(context, new YScrollDetector());
}
@Override
public boolean onInterceptTouchEvent(MotionEvent ev) {
return super.onInterceptTouchEvent(ev)
&& mGestureDetector.onTouchEvent(ev);
}
class YScrollDetector extends SimpleOnGestureListener {
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2,
float distanceX, float distanceY) {
if (Math.abs(distanceY) > Math.abs(distanceX)) {
return true;
}
return false;
}
}
}
相关文章推荐
- ScrollView和ViewPager嵌套使用(导致左右、上下滑动冲突解决方案)
- ScrollView嵌套ViewPager空白,上下或者左右不能滑动问题
- Android中SwipeRefreshLayout和ViewPager左右滑动冲突的原因以及正确的解决方法
- android开发步步为营之71:CoordinatorLayout+AppBarLayout+RecyclerView+ViewPager打造可上下左右滑动的App主框架
- Android开发ScrollView上下左右滑动事件冲突整理一(根据事件)
- android开发游记:scrollview上下弹动效果和viewpager左右弹动效果
- Android 给大家分享一个解决ViewPager和Scrollview滑动冲突的工具类
- [Android] Viewpager 与 Google map v2 冲突,导致地图不能左右滑动解决
- android scrollView 内嵌ViewPager或Gallery等水平滑动控件冲突问题解决实现同时滑动
- Android 当可缩放的View用ViewPager显示时 左右滑动冲突问题
- Android ViewPager、ScrollView或ListView嵌套WebView滑动冲突
- Android ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题解决方案
- Android自定义LinearLayout实现左右侧滑菜单,完美兼容ListView、ScrollView、ViewPager等滑动控件
- Android中Scrollview、ViewPager冲突问题汇总(已解决)
- 修复在“Android 在ScrollView中嵌入ViewPage后ViewPage不能很好的工作的问题解决”这篇博客中MyScrollView出现滑动一会就不会上下滑动的问题
- viewpager Android实现导航菜单左右滑动效果
- android 滑动冲突 ScrollView Viewpager listview 等
- android Viewpager 左右滑动类似桌面的实现
- Android ScrollView 与 viewpager冲突问题
- android ViewPager,ViewFlipper,ViewFlow实现左右滑动