关于下拉刷新项目中所须要的功能(无痕过渡、loadingview出现方式、边界回弹)

PullRefreshLayout

首先吐槽一下如今流行的刷新库,一个字大,包涵我的不少集成到项目中不须要的类,也很难找到很满意的效果(无痕过渡,回弹的效果不够真实),因此本身本身动手丰衣足食,撸一个。
项目地址:github.com/genius158/P…
就这一个控件,能作到对全部基础控件(包括,嵌套滑动例如RecyclerView、NestedScrollView,普通的TextView、ListView、ScrollerView、LinearLayout等)提供下拉刷新、上拉加载的支持,处理了横向滑动冲突(例如:顶部banner的状况) ,且实现无痕过分、边界回弹,可设置多种loadingview的出现效果。

demo
demo

demo2
demo2

1.关于拖拽下拉刷新,loadingView出现方式(目前我的所见到的全部效果基本包涵以下)

STATE_FOLLOW
STATE_FOLLOW
STATE_PLACEHOLDER_FOLLOW
STATE_PLACEHOLDER_FOLLOW

STATE_PLACEHOLDER_CENTER
STATE_PLACEHOLDER_CENTER
STATE_CENTER
STATE_CENTER

STATE_FOLLOW_CENTER
STATE_FOLLOW_CENTER
STATE_CENTER_FOLLOW
STATE_CENTER_FOLLOW



header和footer的parentView都是FrameLayout,以上则都是经过控制Gravity来作到相关的效果

2.关于无痕过渡

支持嵌套滑动的控件都是用的嵌套滑动的相关作法,不支持的则是经过dispatchTouchEvent来作来实现滑动的实时监控。git

3.关于回弹

边界回弹,这里直接用的scroller来作判断,这样作,回弹动画的相关数据准确性会更高github

相关文章
相关标签/搜索