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();      }  });