ZrcListView:一个流畅又漂亮的Android下拉刷新与加载更多列表组件
lhmr5611
9年前
来自: http://www.jcodecraeer.com//a/anzhuokaifa/androidkaifa/2014/0712/1632.html
ZrcListView根据系统自带ListView源码改造而来: 完全是重写了ListView来实现下拉刷新,从他的项目结构中可以看出他完全是复制了整套ListView的实现过程:
相当于没有使用sdk中的ListView。
特性,功能
1.增加下拉刷新及滚动到底部自动加载的功能;
2.增加越界回弹效果;
2.增加自定义列表项动画的功能;
下载地址:http://jcodecraeer.com/a/opensource/2014/1105/1912.html
与其他下拉刷新列表组件的不同
1.其他下拉刷新组件的实现基本是通过动态更改Header的大小来实现的,而ZrcListView是修改了Listview的边界判断;
2.其他下拉刷新组件很容易在下拉刷新时变得卡顿,这是动态更改子View引起的,而ZrcListView的下拉刷新部分与滑动内容一样顺滑;
3.可以设置默认列表头偏移量,这使得实现透明ActionBar与ListView叠加变得很容易;
4.其他下拉刷新可以在无列表项时下拉刷新,而ZrcListView的实现与ListView的滑动息息相关,在无列表项时,暂时无法下拉刷新。
ZrcListView使用示例
设置ZrcListView相关属性
// 设置下拉刷新的样式 SimpleHeader header = new SimpleHeader(this); header.setTextColor(0xff0066aa); header.setCircleColor(0xff33bbee); listView.setHeadable(header); // 设置加载更多的样式 SimpleFooter footer = new SimpleFooter(this); footer.setCircleColor(0xff33bbee); listView.setFootable(footer); // 设置列表项出现动画 listView.setItemAnimForTopIn(R.anim.topitem_in); listView.setItemAnimForBottomIn(R.anim.bottomitem_in); // 下拉刷新事件回调 listView.setOnRefreshStartListener(new OnStartListener() { @Override public void onStart() { refresh(); } }); // 加载更多事件回调 listView.setOnLoadMoreStartListener(new OnStartListener() { @Override public void onStart() { loadMore(); } });