SmartRefreshLayout——上拉加载下拉刷新

效果图展示

图片.png

SmartRefreshLayout是一个用于上拉加载和下拉刷新的一个控件,通常结合RecyclerView一起使用

SmartRefreshLayout的目标是打造一个强大,稳定,成熟的下拉刷新框架,并集成各种的炫酷、多样、实用、美观的Header和Footer。 正如名字所说,SmartRefreshLayout是一个“聪明”或者“智能”的下拉刷新布局,由于它的“智能”,它不只是支持所有的View,还支持多层嵌套的视图结构。 它继承自ViewGroup 而不是FrameLayout或LinearLayout,提高了性能。 也吸取了现在流行的各种刷新布局的优点,包括谷歌官方的 SwipeRefreshLayout, 其他第三方的 Ultra-Pull-To-Refresh、TwinklingRefreshLayout 。 还集成了各种炫酷的 Header 和 Footer。支持所有的 View(AbsListView、RecyclerView、WebView....View)
支持自定义并且已经集成了很多炫酷的 Header 和 Footer.

1.导入依赖

    implementation 'com.scwang.smartrefresh:SmartRefreshLayout:1.1.0-alpha-14'
    //没有使用特殊Header和Footer,可以不加下面这行
    implementation 'com.scwang.smartrefresh:SmartRefreshHeader:1.1.0-alpha-14'

    //Recyclerview
    implementation 'com.android.support:recyclerview-v7:28.0.0'

2.在activity_main.xml中添加布局




 

    

        

        

        

    


3.MainActivity中使用

        //加载更多
        refreshLayout.setOnLoadMoreListener(new OnLoadMoreListener() {
            @Override
            public void onLoadMore(@NonNull RefreshLayout refreshLayout) {
                page ++ ;
                initData();
                adapter.notifyDataSetChanged();
                refreshLayout.finishLoadMore(true);//加载完成
            }
        });
        //刷新
        refreshLayout.setOnRefreshListener(new OnRefreshListener() {
            @Override
            public void onRefresh(@NonNull RefreshLayout refreshLayout) {
                list.clear();
                initData();
                adapter.notifyDataSetChanged();
                refreshLayout.finishRefresh(true);//刷新完成
            }
        });

SmartRefreshLayout关于属性这一块也有很多可以设置的,大家可以去SmartRefreshLayout官网查看更多使用细则,这里就不展开讲解了

你可能感兴趣的:(SmartRefreshLayout——上拉加载下拉刷新)