zoukankan      html  css  js  c++  java
  • Android ScrollView与ViewPager滑动冲突

      前段时间做项目碰到在ScrollView里添加ViewPager,但是发现ViewPager的左右滑动和ScrollView的滑动冲突了,解决这个问题的方法是重写ScrollView。

    代码:

     1 public class CustomScrollView extends ScrollView {
     2 
     3     private GestureDetector mGestureDetector;
     4     View.OnTouchListener mGestureListener;
     5 
     6     public CustomScrollView(Context context, AttributeSet attrs) {
     7         super(context, attrs);
     8         mGestureDetector = new GestureDetector(context, new YScrollDetector());
     9     }
    10 
    11     public CustomScrollView(Context context, AttributeSet attrs, int defStyle) {
    12         super(context, attrs, defStyle);
    13         mGestureDetector = new GestureDetector(context, new YScrollDetector());
    14     }
    15 
    16     public CustomScrollView(Context context) {
    17         super(context);
    18         mGestureDetector = new GestureDetector(context, new YScrollDetector());
    19     }
    20 
    21     @Override
    22     public boolean onInterceptTouchEvent(MotionEvent ev) {
    23         return super.onInterceptTouchEvent(ev)
    24                 && mGestureDetector.onTouchEvent(ev);
    25     }
    26 
    27     // Return false if we're scrolling in the x direction
    28     class YScrollDetector extends SimpleOnGestureListener {
    29         @Override
    30         public boolean onScroll(MotionEvent e1, MotionEvent e2,
    31                 float distanceX, float distanceY) {
    32             if (Math.abs(distanceY) > Math.abs(distanceX)) {
    33                 return true;
    34             }
    35             return false;
    36         }
    37     }
    38 
    39 }
  • 相关阅读:
    WP8日历(含农历)APP
    NHibernate3剖析:Mapping篇之集合映射基础(2):Bag映射
    初探springmvc
    树的子结构
    Java内存分析
    java8_api_misc
    iOS开发多线程篇 09 —NSOperation简单介绍
    CALayer1-简介
    NSCharacterSet
    iOS 音频开发
  • 原文地址:https://www.cnblogs.com/phj981805903/p/3240803.html
Copyright © 2011-2022 走看看