ZrcListView:一个流畅又漂亮的Android下拉刷新与加载更多列表组件

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