Android 利用第三方库实现下拉刷新 -android-Ultra-Pull-To-Refresh

android-Ultra-Pull-To-Refresh库

github地址

https://github.com/Chanven/CommonPullToRefresh

有个较为详尽的例子,包含有上拉加载更多

http://blog.csdn.net/leejizhou/article/details/50823184


在module的gradle中加入

compile 'com.chanven.lib:cptr:1.1.0'



在xml布局文件中使用布局

<com.chanven.lib.cptr.PtrClassicFrameLayout>
</com.chanven.lib.cptr.PtrClassicFrameLayout>

进行包裹



在Activity.java中

        mPtrFrame=(PtrClassicFrameLayout) findViewById(R.id.chanven);

        /****下拉刷新****/
        //下拉刷新支持时间
        mPtrFrame.setLastUpdateTimeRelateObject(this);
        //下拉刷新一些设置 详情参考文档
        mPtrFrame.setResistance(1.7f);
        mPtrFrame.setRatioOfHeaderHeightToRefresh(1.2f);
        mPtrFrame.setDurationToClose(200);
        mPtrFrame.setDurationToCloseHeader(1000);
        // default is false
        mPtrFrame.setPullToRefresh(false);
        // default is true
        mPtrFrame.setKeepHeaderWhenRefresh(true);




        //进入Activity就进行自动下拉刷新
//        mPtrFrame.postDelayed(new Runnable() {
//            @Override
//            public void run() {
//                mPtrFrame.autoRefresh();//自动调用onRefreshBegin中的run内的数据处理和UI刷新操作
//            }
//        }, 100);

        
        
        
        
        //下拉刷新
        mPtrFrame.setPtrHandler(new PtrDefaultHandler() {


            @Override
            public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {//检查是否能够刷新
                return super.checkCanDoRefresh(frame, content, header);
            }






            @Override
            public void onRefreshBegin(PtrFrameLayout frame) {


                mPtrFrame.postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        refresh();//刷新数据并更新UI,可换成数据处理的相关操作
                        mPtrFrame.refreshComplete();//发出刷新操作完成的信号
//                        mPtrFrame.setLoadMoreEnable(true);
                    }
                },100);





                mPtrFrame.setOnLoadMoreListener(new OnLoadMoreListener() {
                    @Override
                    public void loadMore() {
                        Toast.makeText(MainActivity.this, "load more complete", Toast.LENGTH_SHORT)
                                .show();


                    }
                });
                
            }

            
        });
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值