<span style="color:#000000"><span style="color:#cccccc"><span style="color:#404040"><code class="language-bash">compile 'com.lcodecorex:tkrefreshlayout:1.0.7'</code></span></span></span>
<span style="color:#000000"><span style="color:#cccccc"><span style="color:#404040"><code class="language-xml"><span style="color:#999999"><?xml version="1.0" encoding="utf-8"?></span>
<span style="color:#e2777a"><span style="color:#cccccc"><</span>com.lcodecore.tkrefreshlayout.TwinklingRefreshLayout xmlns:android<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>http://schemas.android.com/apk/res/android<span style="color:#cccccc">"</span></span>
xmlns:app<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>http://schemas.android.com/apk/res-auto<span style="color:#cccccc">"</span></span>
android:id<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>@+id/refreshLayout<span style="color:#cccccc">"</span></span>
android:layout_width<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>match_parent<span style="color:#cccccc">"</span></span>
android:layout_height<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>match_parent<span style="color:#cccccc">"</span></span>
app:tr_head_height<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>100dp<span style="color:#cccccc">"</span></span><span style="color:#cccccc">></span></span>
<span style="color:#e2777a"><span style="color:#cccccc"><</span>android.support.v7.widget.RecyclerView
android:id<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>@+id/recyclerview<span style="color:#cccccc">"</span></span>
android:layout_width<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>match_parent<span style="color:#cccccc">"</span></span>
android:layout_height<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>match_parent<span style="color:#cccccc">"</span></span>
android:overScrollMode<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>never<span style="color:#cccccc">"</span></span>
android:background<span style="color:#7ec699"><span style="color:#cccccc">=</span><span style="color:#cccccc">"</span>#fff<span style="color:#cccccc">"</span></span> <span style="color:#cccccc">/></span></span>
<span style="color:#e2777a"><span style="color:#cccccc"></</span>com.lcodecore.library.TwinklingRefreshLayout<span style="color:#cccccc">></span></span></code></span></span></span>
使用finishRefreshing()方法结束刷新,finishLoadmore()方法结束加载更多。此处OnRefreshListener还有其它方法,可以选择需要的来重写。
如果你想进入到界面的时候主动调用下刷新,可以调用startRefresh()/startLoadmore()方法。(会自动执行RefreshListenerAdapter监听事件中的onRefresh()/onLoadMore())
根据原理我们能够知道,做一个下拉刷新的动画加载,我们需要做的有两个动作:
1.如何判断RecyclerView已经滑动到底部。
2.如何添加RecyclerView的底部动画。
重要的就是RecyclerView滚动监听
RecyclerView.OnScrollListener
mRecyclerView.canScrollVertically(1) 是否拉到底部
1.RefreshLoadMoreRecyclerView
2.TwinklingRefreshLayout
4.一些属性的介绍
setWaveHeight、setHeaderHeight、setBottomHeight、setOverScrollHeight
setWaveHeight 设置头部可拉伸的最大高度。
setHeaderHeight 头部固定高度(在此高度上显示刷新状态)
setBottomHeight 底部高度
setOverScrollHeight 设置最大的越界高度
setEnableRefresh、setEnableLoadmore
灵活的设置是否禁用上下拉。
setHeaderView(IHeaderView headerView)、setBottomView(IBottomView bottomView)
设置头部/底部个性化刷新效果,头部需要实现IHeaderView,底部需要实现IBottomView。
setEnableOverScroll
是否允许越界回弹。