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

本文介绍了一个自定义的PullRefreshLayout库,旨在解决现有刷新库体积过大及效果不佳的问题。该库支持各类基础控件的下拉刷新与上拉加载功能,并实现了平滑过渡与真实回弹效果。

PullRefreshLayout

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

demo

demo2

1.关于拖拽下拉刷新,loadingView出现方式(目前个人所见到的所有效果基本包涵如下)

STATE_FOLLOW
STATE_PLACEHOLDER_FOLLOW

STATE_PLACEHOLDER_CENTER
STATE_CENTER

STATE_FOLLOW_CENTER
STATE_CENTER_FOLLOW



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

2.关于无痕过渡

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

3.关于回弹

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值