pulltorefresh 下拉刷新 上拉加载更多 总结

1.设置上拉和下拉

listview.setMode(Mode.BOTH);  

2.提示文字

  listview.getLoadingLayoutProxy(false, true).setPullLabel("加载成功");
listview.getLoadingLayoutProxy(false, true).setRefreshingLabel("放开以加载");
listview.getLoadingLayoutProxy(false, true).setReleaseLabel("上拉加载更多");
listview.getLoadingLayoutProxy(false, true).setLastUpdatedLabel("");
listview.getLoadingLayoutProxy(true, false).setPullLabel("刷新成功");
listview.getLoadingLayoutProxy(true, false).setRefreshingLabel("放开以刷新");
listview.getLoadingLayoutProxy(true, false).setReleaseLabel("下拉刷新");
listview.getLoadingLayoutProxy(true, false).setLastUpdatedLabel("");

3.pull的距离

       //PullToRefreshBase 中有一个变量,默认是屏幕的1/2,感觉太长了,改成了

static final float FRICTION = 3.0f;//上拉和下拉的最大距离 1/3

4.判断是上拉下拉

      方法一

网上有的同学是用onScrollListener来判断,这样并不严谨,我依靠是header还是footer处于可见状态来区分下拉和上拉,如果是下拉,那header一 定是可见的;反之,footer一定是可见的。

但是PullToRefreshExpandableListView并没有提供这样的接口,那我们就来小改一下我们引入的工程吧,很简单:
找到包“com.handmark.pulltorefresh.library”下的PullToRefreshAdapterViewBase.java这个类,加入两个新接口:


    public boolean isHeaderShown() {
        return getHeaderLayout().isShown();
    }

    public boolean isFooterShown() {
        return getFooterLayout().isShown();
    }

       方法二

if (PullToRefreshBase.Mode.PULL_FROM_START == mPullRefreshListView.getCurrentMode()) {

   onRefresh();

   else if (PullToRefreshBase.Mode.PULL_FROM_END == mPullRefreshListView.getCurrentMode()){

onLoadMore();

}



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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值