• 完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题


    /*******************************************************************************
     * Copyright 2011, 2012 Chris Banes.
     *
     * Licensed under the Apache License, Version 2.0 (the "License");
     * you may not use this file except in compliance with the License.
     * You may obtain a copy of the License at
     *
     * http://www.apache.org/licenses/LICENSE-2.0
     *
     * Unless required by applicable law or agreed to in writing, software
     * distributed under the License is distributed on an "AS IS" BASIS,
     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     * See the License for the specific language governing permissions and
     * limitations under the License.
     *******************************************************************************/
    package com.baiyi.tuan.views.pulldownview;
    
    import android.content.Context;
    import android.util.AttributeSet;
    import android.view.GestureDetector;
    import android.view.GestureDetector.SimpleOnGestureListener;
    import android.view.MotionEvent;
    import android.widget.ScrollView;
    
    /**
     * 完美解决ScrollView嵌套ViewPager滑动失效和无法正常滑动冲突问题
     * 
     * @author leict
     * 
     */
    public class VerticalScrollView extends ScrollView {
    
    	private GestureDetector mGestureDetector;
    
    	public VerticalScrollView(Context context, AttributeSet attrs) {
    		super(context, attrs);
    		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) {
    			// 如果我们滚动更接*水*方向,返回false,让子视图来处理它
    			return (Math.abs(distanceY) > Math.abs(distanceX));
    		}
    	}
    
    }
    

      

  • 相关阅读:
    今天英语有何新收获?
    今天了解了解了外包这一行业
    今天英语有何新收获?
    sicp 练习1.7
    今天英语有何新收获
    今天英语有何新收获?
    反射(初尝)
    初学正则表达式
    sicp 练习1.8 【有点疑惑】
    [tip]Windows filename MAX_PATH limitation
  • 原文地址:https://www.cnblogs.com/xiaoyao095/p/4256804.html
Copyright © 2020-2023  润新知