androidRefresh

Introduction: 一个动画任意定制的刷新库
More: Author   ReportBugs   
Tags:
recycleview-listview-刷新库-scrollview-NestScrollView-gridview-

该刷新框架可定制性高,需要一定开发经验

头部采用了 view 容器方式,具体内容自己决定,可将容器里面的内容 view 替换成你想要的任意 view

刷新框架回调的数据也很多,常用回调为:

onRefreshing()刷新回调,开发者自己维护刷新动画

doLoadMore()加载更多回调,需要配合工具

onOverlyRefreshHeight()手指下拉距离超出可刷新高度时,开发者可任意设置内容

scaleValue()滑动过程不断回调,传回当前滑动的距离比例,即当前手指滑动距离/可刷新的高度 的关系

刷新框架可用于 listview(未测试)和 recycleview,以及 scrollview、nestScrollView,gridview 原理上也能使用(未测试)

使用方法:直接在 xml 中配置

    <include
    layout="@layout/refresh_recycleview_commo_layout"/>

在代码中这样用

    EasyNestRefreshView.addOnNestFreshListenerList(new EasyOnNestReFreshListener() {
        @Override
        public void onRefreshing() {
          //触发刷新动作
          //刷新动画需要自己做,动画设置方式为
            NoRequestImageView iv_refreshing_progress=EasyNestRefreshView.findViewById(R.id.iv_refreshing_progress);
            iv_refreshing_progress.setAnimal....
        }

        @Override
        public void scaleValue(float value) {
          //下拉距离顶部的比例
        }

        @Override
        public void onInvlidate() {
         //无论是否触发刷新动作放开手指都会走这里
        }

        @Override
        public boolean doLoadMore() {
         //加载更多,需要配合下面的工具使用
            return false;
        }

        @Override
        public void onOverlyRefreshHeight(boolean overly) {
           //下拉距离超过刷新预设值
        }
    });
    /**
    加载更多辅助工具
    */
     new ListViewUtils().setLoadMoreListener(recyclerView, new ListViewUtils.CallBack() {
        @Override
        public void onLoadMore() {
            L.d(TAG, "onLoadMore: ");
            root.doLoadMore();
        }
    });

    /**
    恢复刷新前状态,也就是刷新完成,这个保证更新数据的时候不造成 ui 卡顿或其他异常
    */
    EasyNestRefreshView.onRefreshed(new EasyNestRefreshView.OnRefreshedListener() {
            @Override
            public void onRefreshed() {
              //在这里设置数据源
            }
        });


    /**
    恢复刷新前状态,也就是刷新完成,这个方法是不需要更新 UI 或没有刷新动作的时候调用的
    */
     EasyNestRefreshView.onRefreshed();
Apps
About Me
GitHub: Trinea
Facebook: Dev Tools