美文网首页程序员
Android智能刷新加载框架-SmartRefreshLayo

Android智能刷新加载框架-SmartRefreshLayo

作者: 饮水思源为名 | 来源:发表于2018-07-27 15:10 被阅读754次

框架:

  SmartRefreshLayout是目前为止笔者用过的嘴方便的刷新加载组件,它对下拉刷新功能进行系统的拆分、组合,主要由四个部分组成:

  • RefreshLayout 下拉的基本功能,包括布局测量、滑动事件处理、参数设定等等
  • RefreshContent 对不同内容的统一封装,包括判断是否可滚动、回弹判断、智能识别
  • RefreshHeader 下拉头部的实现和显示
  • RefreshFooter 上拉底部的实现和显示

UML关系类图:


  通过SmartRefreshLayout框架,你可以在一个稳定强大的下拉布局中实现自己项目需求的 Header ,不用去关心滑动事件处理,不用关心子控件的回弹和滚动边界,只需关注自己真正的项目需求Header的样子和动画。

使用方法:

  1. 在xml中不居中部署:
  <LinearLayout
        android:background="#f2f2f2"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <com.scwang.smartrefresh.layout.SmartRefreshLayout
            android:id="@+id/refreshLayout"
            android:layout_width="match_parent"
            android:layout_height="match_parent">
            <com.scwang.smartrefresh.layout.header.ClassicsHeader
                android:layout_width="match_parent"
                android:layout_height="wrap_content"/>
            <android.support.v7.widget.RecyclerView
                android:id="@+id/recyclerview"
                android:layout_width="match_parent"
                android:layout_height="match_parent"/>
            <com.scwang.smartrefresh.layout.footer.ClassicsFooter
                android:layout_width="match_parent"
                android:layout_height="wrap_content" />
        </com.scwang.smartrefresh.layout.SmartRefreshLayout>
    </LinearLayout>
  1. 在java中获取RefreashLayout实例
    refreshLayout=findViewById(R.id.refreshLayout);
  2. 初始化RefreashLayout
 refreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(RefreshLayout refreshlayout) {
                mPresenter.loadNextMessage("refresh",bean.getId());
            }
        });
        refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
                mPresenter.loadNextMessage("loadmore",bean.getId());
            }
        });
        refreshLayout.autoRefresh();

相关文章

网友评论

    本文标题:Android智能刷新加载框架-SmartRefreshLayo

    本文链接:https://www.haomeiwen.com/subject/tuqgmftx.html