Android-->改造Xlistview完成自动下拉刷新(类似网易)效果

    有时候项目需要能够自动下拉刷新,类似网易新闻的效果,网易新闻是更新时间超过半个小时,就会自动下拉刷新,listview自动下拉。这种交互在体验上非常不错。这里我对Xlistiew进行稍微修改,完成了自动下拉刷新。只需要调用setAutoRefreshing()方法即可。因为程序比较简单,因此就不介绍了,各位直接看源码吧!

---------------更新--------------

1:增加自动下拉动画

2:增加自动上拉加载更多

3:如果XListView正处于刷新状态,不触发XListView的刷新回调接口。

4:基于Github原生XListView进行更改


网上搜索几个基于XListView自动下拉刷新的时候,一种是请看链接的实现;

另外一种就是我以前的那种实现方式。

这两种实现方式都不是很完美,特别是第一种,在某些情况下会导致刷新不能停止。第二种我以前的实现比较呆板,没有动画。

以下是自动下拉刷新实现代码

    private int record;
    private Handler mAutoRefreshHandler = new Handler() {

        @Override
        public void handleMessage(Message msg) {
            super.handleMessage(msg);
            if (mHeaderView.getVisiableHeight() > mHeaderViewHeight) {
                if (mListViewListener != null) {
                    mListViewListener.onPullRefresh();
                }
                record = 0;
                mHeaderView.setState(XListViewHeader.STATE_REFRESHING);
                resetHeaderHeight();
                removeMessages(AUTO_REFRESH);
            } else {
                updateHeaderHeight(record);
                record = record + 10;
                sendEmptyMessageDelayed(AUTO_REFRESH,40);
            }
        }
    };

    private void autoRefresh() {
        if (mEnablePullRefresh && !mPullRefreshing){
            mPullRefreshing = true;
            mAutoRefreshHandler.sendEmptyMessage(AUTO_REFRESH);
        }
    }
源码地址更新

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值