zoukankan      html  css  js  c++  java
  • 完美解决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));
    		}
    	}
    
    }
    

      

  • 相关阅读:
    cf D. Vessels
    cf C. Hamburgers
    zoj 3758 Singles' Day
    zoj 3777 Problem Arrangement
    zoj 3778 Talented Chef
    hdu 5087 Revenge of LIS II
    zoj 3785 What day is that day?
    zoj 3787 Access System
    判断给定图是否存在合法拓扑排序
    树-堆结构练习——合并果子之哈夫曼树
  • 原文地址:https://www.cnblogs.com/xiaoyao095/p/4256804.html
Copyright © 2011-2022 走看看