zoukankan      html  css  js  c++  java
  • Android 解决ScrollView嵌套RecyclerView导致滑动不流畅的问题

    最近做的项目中遇到了ScrollView嵌套RecyclerView,刚写完功能测试,直接卡出翔了,后来通过网上查找资料和

    自己的实践,找出了两种方法解决这个问题。

    首先来个最简单的方法:

    recyclerView.setNestedScrollingEnabled(false);

    这个方法就可以解决这一问题。

    既然有首先那肯定有第二种解决的办法,只不过相对于第一种方法来说就太麻烦了。

    我们知道ScrollView嵌套listView或者GridView的时候需要自定义listView或者是GridView,在这儿我们也需要自定义,

    但是也有区别,我们这儿不是自定义RecyclerView,而是自定义ScrollView。下面给出自定义的方法。

    public class ScrollView extends ScrollView{
    
        private int downX;
    
        private int downY;
    
        private int mTouchSlop;
    
        public TopicScrollView(Context context) {
    
            super(context);
    
            mTouchSlop= ViewConfiguration.get(context).getScaledTouchSlop();
    
        }
    
    
    
    
    
        public TopicScrollView(Context context, AttributeSet attrs) {
    
            super(context, attrs);
    
            mTouchSlop= ViewConfiguration.get(context).getScaledTouchSlop();
    
        }
    
    
    public TopicScrollView(Context context, AttributeSet attrs, int defStyleAttr) {
            super(context, attrs, defStyleAttr);
            mTouchSlop= 
            ViewConfiguration.get(context).getScaledTouchSlop();
        }
    
        @Override
        public boolean onInterceptTouchEvent(MotionEvent e) {
            int action = e.getAction();
            switch (action) {
                case MotionEvent.ACTION_DOWN:
                    downX = (int) e.getRawX();
                    downY = (int) e.getRawY();
                    break;
                case MotionEvent.ACTION_MOVE:
                    int moveY = (int) e.getRawY();
                    if (Math.abs(moveY - downY) > mTouchSlop) {
                        return true;
                    }
            }
            return super.onInterceptTouchEvent(e);
        }
    }
  • 相关阅读:
    平面点集最佳平面
    快速变幻AABB的顶点
    惯性坐标系
    Grapher
    Grapher
    射线到直线方程的转换
    两个运动球的相交性测试
    射线和球的相交性
    Glow Shader
    Shder中实现TintColor
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/7863085.html
Copyright © 2011-2022 走看看