下拉刷新的案例比比皆是,在这里分享一个比较强大的开源库,学习下如何使用这个库。
昨天已经做了一个简单的动画,今天把动画应用上来,仿美团下拉刷新这个效果是库里面本来就有的效果,这里就简单的学习一下实现这种效果。
第一步:
创建工程
第二步:
添加Gradle依赖
compile ‘cn.bingoogolapple:bga-refreshlayout:1.1.6’
第三步:
在xml添加BGARefreshLayout
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.zmj.meituanrefresh.MainActivity">
<cn.bingoogolapple.refreshlayout.BGARefreshLayout
android:id="@+id/rl_refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<!--注意:控件的高度请使用android:layout_height="0dp"和android:layout_weight="1"-->
<ListView
android:id="@+id/lv_my"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:overScrollMode="never"
/>
</cn.bingoogolapple.refreshlayout.BGARefreshLayout>
</RelativeLayout>
第四步:
MainActivity中初始化控件及数据,这里只贴了部分代码,查看完整代码,请下载。
/**
* 初始化上下拉刷新控件
*/
private void initFresh() {
mRefreshLayout.setDelegate(this);
//true代表开启上拉加载更多
BGAMeiTuanRefreshViewHolder meiTuanRefreshViewHolder = new BGAMeiTuanRefreshViewHolder(this, true);
meiTuanRefreshViewHolder.setPullDownImageResource(R.mipmap.refresh_down);
meiTuanRefreshViewHolder.setChangeToReleaseRefreshAnimResId(R.drawable.change_refresh);
meiTuanRefreshViewHolder.setRefreshingAnimResId(R.drawable.refresh_refreshing);
mRefreshLayout.setRefreshViewHolder(meiTuanRefreshViewHolder);
}
第五步:
效果图