Skip to content

liangweihao/MRecyclerView

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 

Repository files navigation

MRecyclerView

新版刷新/加载RecyclerView-完全的新思路

介绍:全新的解决思路,有助于学习RecycelrView原理,扩展性强,简单方便适应各种LayoutManager

功能:

   1.基本的刷新/加载

   2.刷新/加载取消操作

   3.可支持数据高度小于屏幕高度的操作

   4.支持比例因子调控,可控制滑动间隔或者是滑动缩放效果

   5.等待新的思路加入

问题记录:

  * Q1-1为什么当布局高度设置为小于-2的时候也会产生包裹内容的高度效果?(等待源码校验)


  * Q1-2为什么当已经展开的页面,再次滑动时候会产生一个快速收缩的不良效果。    
  经过测试发现:有时候如果快速滑动屏幕,那么事件其实是不会执行DOWN的,所以产生了很大的抖动现象


  * Q1-3为什么向上滑动会出现突然间的扩大到原本的高度或者是最大高度。      

     原因:向上滑动的时候,如果高度设置为-1 match_parent -2 wrap_content 就导致了布局产生的不规则的变化      另外如果对高度小于-2也会造成包裹高度    

  * Q1-4为什么向上滑动时候不能真正的做到高度为0.         

     原因:滑动时的位置时根据定时监测的,所以如果滑动速度过快就会导致差分特别的大,以至于本应该高度为0却不能真正 的达到0而会产生0范围进行抖动的现象。

  * Q1-5为什么突然的滑动会产生明显的卡顿现象,虽然不影响使用效果。        
  由于移动事件时根据时间间隔进行统计的,所以同一个事件如果产生了很大的位移,就会导致很明显的扩张,因此,
  使用比例因子进行位移计算当然并不是最合适的解决方
  案,而是通过段时间内的位移使用不同的比例因子


  * Q1-6为什么关闭状态下直接进行上拉,然后抬起,再次进行刷新动作无法触发

     原因:在提起的时候如果进行了延迟操作,这个时候再次触发是不能进行滑动操作的。   解决方案:屏蔽高度为0的向上滑动操作,

  * Q1-7为什么上拉加载更多的时候会出现突然的扩大? 
  原因:因为底部视图默认添加的时候本身高度就是为-2(内容包裹),所以导致了得到的高度也是-2那就就会产生-2 -1 0 的情况,
  也就是突然的扩大和缩小,所以准备的应该是获取到测量的高度。

     * Q1-8为什么快速向上滑动底部/刷新到顶部会出现正在展开的状态而不会走刷新/加载?  
原因:对于展开的状态返回数字,如果是动态扩展的状态就需要回调,对于高度不变的状态直接返回大于1。

image

true

About

新版刷新/加载RecyclerView-完全的新思路

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published