1.情形一:有时候开发时会遇到ScrollView里嵌套列表,很天然的就会用到RecyclerView ,而recyclerView.setNestedScrollingEnabled(false);能够解决滑动冲突,开始ScrollView 嵌套RecyclerView 分页上拉刚开始时很顺,没有问题,当上拉数据愈来愈多的时候就开始卡,最后页面直接就卡死了,不断的排除各类缘由,图片过大,glide封装优化,内存泄漏,自定义控件问题,多开辟子线程,注释代码都仍是会卡,后面开始定位是否是RecyclerView的复用回收问题。android
解决方法:git
若是是 TabLayout+ViewPager+Fragment :fragment的根目录不用NestScrollView 直接用LinearLayout 嵌套github
RecyclerView 代码中记得去了recyclerView.setNestedScrollingEnabled(false); 否则会有滑动问题ide
2.情形二:在写一个ScrollView 嵌套Viewpager和RecyclerView的布局时,RecyclerView总是自动得到焦点而后在ScrollView布局
内部上下自动滚动,尝试了在ScrollView的直接子LinearLayout使用优化
android:focusable=“true” android:focusableInTouchMode=“true”线程
但在一些状况下 ScrollView仍是会自动得到焦点而后滚动起来,最后的方案code
解决方案:图片
在ScrollView下面的LinearLayout加上android:descendantFocusability="blocksDescendants"属性, 截获 ListView的焦 点, 从而达到禁止ScrollView自动滚动.顺便解释下这个属性的其余用法:内存
该属性是当一个为view获取焦点时,定义viewGroup和子控件二者之间的关系。属性的值有三种:beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不须要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接得到焦点
3.若是是RecyclerView 上面还有几个布局推荐使用这个大神的用法
https://github.com/385841539/RecycleviewStaggered.git