`
龙哥IT
  • 浏览: 252793 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

RecycleView下拉刷新和加载另一种方式PtrClassicFrameLayout

 
阅读更多

PtrClassicFrameLayout和SwitchRefreshLayout是两种不同的刷新方式,根据项目实际要求去做

1.布局:

 

 <in.srain.cube.views.ptr.PtrClassicFrameLayout
        android:id="@+id/mPtrClassicFrameLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_centerHorizontal="true"
            android:scrollbars="vertical" />
    </in.srain.cube.views.ptr.PtrClassicFrameLayout>

 2.在build.gradle(app)添加包:

 

 

 //下拉刷新框架
    compile 'in.srain.cube:ultra-ptr:1.0.11'

 3.代码:

 

 

其中:
app:ptr_resistance="1.7":设置下拉的阻尼系数,值越大感觉越难下拉
ptr_ratio_of_header_height_to_refresh:设置超过头部的多少时,释放可以执行刷新操作
ptr_duration_to_close:设置下拉回弹的时间
ptr_duration_to_close_header:设置刷新完成,头部回弹时间,注意和前一个进行区别
ptr_keep_header_when_refresh:设置刷新的时候是否保持头部
ptr_pull_to_fresh:设置下拉过程中执行刷新,我们一般设置为false
当然这几个参数的设置也可以通过代码去实现:

// the following are default settings  
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); 

 实现刷新和加载更多效果:

 

 

 /**
         * 上啦加载
         */
        mAdapter.setOnLoadMoreListener(new BaseQuickAdapter.RequestLoadMoreListener() {
            @Override
            public void onLoadMoreRequested() {
                new Handler().postDelayed(new Runnable() {
                    @Override
                    public void run() {
                        getPresenter().getData();
                        mAdapter.setNewData(mList);
                        mAdapter.loadMoreComplete();
                        mAdapter.notifyDataSetChanged();
                    }
                }, 2000);
            }
        }, mRecyclerView);

        //下拉刷新
        mPtrClassicFrameLayoutFragment3.disableWhenHorizontalMove(true);
        mPtrClassicFrameLayoutFragment3.setPtrHandler(new PtrHandler() {
            @Override
            public boolean checkCanDoRefresh(PtrFrameLayout frame, View content, View header) {
                return PtrDefaultHandler.checkContentCanBePulledDown(frame, content, header);
            }

            @Override
            public void onRefreshBegin(PtrFrameLayout frame) {
                mList.clear();
                getPresenter().getData();
                mPtrClassicFrameLayoutFragment3.refreshComplete();
                mAdapter.notifyDataSetChanged();
            }
        });

 

 其中 getPresenter().getData();这个是获取数据,根据实际项目数据获取而改变

 

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    RecycleView上拉刷新下拉加载更多

    至于压缩包中的"superrecyclerview",可能是指SuperRecyclerView库,这是一个扩展版的`RecycleView`,包含了丰富的内置功能,如头部和底部的加载更多布局、下拉刷新、侧滑删除等,这使得开发者无需额外编写大量代码...

    上拉加载下拉刷新的RecycleView

    支持瀑布流,单列表,网格,使用见我博客

    recycleView下拉刷新上拉加载,不足一屏时footview隐藏

    而“recycleView下拉刷新上拉加载,不足一屏时footview隐藏”这个主题主要涉及到如何在RecyclerView中实现下拉刷新和上拉加载更多的功能,并且在内容不足一屏时隐藏提示视图(FootView)。 首先,下拉刷新通常使用...

    recycleView超好用下拉刷新和上拉加载

    在Android开发中,`RecyclerView`是一个非常重要的组件,它用于高效地展示大量数据列表,而`PTLRecyclerView-master`这个库则进一步扩展了`RecyclerView`的功能,提供了下拉刷新和上拉加载更多这两种常见的交互模式...

    recycleview上拉加载下拉刷新

    在本项目"PullLoadMoreRecyclerView"中,作者WuXiaolong实现了一个具有上拉加载更多和下拉刷新功能的RecyclerView,这是移动应用中常见的交互模式,特别是对于数据流无尽或者需要实时更新的内容。 1. **上拉加载更...

    Materal风格之recycleView下拉刷新以及上拉加载更多

    本篇将探讨如何在Material Design风格下,为RecyclerView实现下拉刷新和上拉加载更多的功能。 首先,我们要理解RecyclerView的基本结构。RecyclerView由Adapter、LayoutManager和ViewHolder组成。Adapter负责填充...

    RecycleView-上拉加载-下拉刷新

    本文将深入探讨RecycleView的上拉加载(Load More)和下拉刷新(Pull to Refresh)功能,以及如何实现这些特性。 ## 1. RecycleView简介 RecycleView通过复用视图项来优化内存使用,只有当前可视的item才会被实例化...

    Recyclerview的下拉刷新和上拉加载

    本文将详细讲解如何实现RecyclerView的下拉刷新和上拉加载功能,这两种功能是移动应用中常见的用户体验设计,使得用户可以轻松获取更多数据。 一、下拉刷新(Pull-to-Refresh) 下拉刷新允许用户通过在...

    Recyclerview下拉刷新上拉加载及adapter封装

    通过以上步骤,你将能够实现一个功能完善的RecyclerView,具备下拉刷新和上拉加载的能力,并且通过Adapter的封装,使得代码更加模块化和易于维护。在实际开发中,可以根据项目需求进行调整和优化,以适应不同的场景...

    Android-LoadMoreRecycle只具有“加载更多”功能的RecycleView下拉刷新请使用其它库

    在这种情况下,可以考虑结合使用其他库,比如SwipeRefreshLayout,以获得完整的下拉刷新和上拉加载更多功能。此外,还有许多其他的开源库,如PagedLibrary、EndlessRecyclerView等,它们提供了更全面的解决方案,...

    recycleview实现下拉刷新上拉自动加载

    本文将深入探讨如何在RecyclerView中实现下拉刷新和上拉自动加载的功能。 首先,RecyclerView的优势在于它的高效性能。由于其采用的ViewHolder机制,RecyclerView能够复用视图,显著减少了内存分配和视图创建的开销...

    RecycleView上拉加载下拉刷新EmptyView的封装

    总结,RecyclerView作为Android开发中的重要组件,其上拉加载、下拉刷新和EmptyView功能的封装是提高用户体验的关键。通过合理的抽象和设计,我们可以创建一个高效的BaseRecycleViewAdapter,为各种列表场景提供便捷...

    RecyclerView下拉刷新

    虽然题目提到的是下拉刷新,但上拉加载更多的实现原理与下拉刷新类似。可以使用LinearLayoutManager的setLastVisibleItemPosition方法监听滚动到底部的事件,然后加载更多数据。 6. **优化与注意事项** - 记得在...

    ListView上拉刷新和加载更多动画

    在描述中提到的“改造XListview”,XListView是一个开源的Android库,它为ListView提供了上拉刷新和下拉加载更多的功能。XListView是基于PullToRefresh开源项目改进的,增加了底部加载更多的特性,使得开发者能够更...

    下拉刷新-所以空间外面包一层

    在Android开发中,"下拉刷新"是一种常见的用户体验设计,让用户能够通过手势更新应用程序的数据,例如刷新新闻列表或社交媒体时间线。"下拉刷新-所以空间外面包一层"这个标题暗示了一个自定义组件的实现,它允许...

    (Android) RecyclerView实现下拉刷新和上拉加载更多

    这篇文章主要为大家详细介绍了Android RecyclerView实现下拉刷新和上拉加载更多,具有一定的参考价值,感兴趣的小伙伴们可以下载参考一下! (Android)五分钟让你轻松学会下拉刷新和上拉加载更多。文章地址 ...

    RecyclerView下拉刷新上拉加载封装

    将下拉刷新和上拉加载的功能封装成一个可重用的组件,意味着开发者可以将这部分代码抽象出来,形成一个独立的库或模块。这样,在不同的项目中只需简单引入即可,降低了代码复用的难度,提高了开发效率。 6. **项目...

    简单好用的上拉加载下拉刷新 BaseRecyclerViewAdapterHelper

    添加头部、尾部、下拉刷新、上拉加载(感觉又回到ListView时代) 设置自定义的加载更多布局 添加分组(随心定义分组头部) 自定义不同的item类型(简单配置、无需重写额外方法) 设置空布局(比Listview的...

    android RecycleView实现下拉刷新和上拉加载

    Android RecyclerView 是一个强大的列表视图控件,它可以实现列表的下拉刷新和上拉加载功能。下面我们将详细介绍如何实现 Android RecyclerView 的下拉刷新和上拉加载功能。 标题:Android RecyclerView 实现下拉...

    ListView的下拉刷新和上拉加载数据

    "ListView的下拉刷新和上拉加载数据"是移动应用中常见的功能,主要用于优化用户体验,让用户能够在不离开当前页面的情况下获取新的数据。这一功能常见于新闻应用、社交媒体应用等,用户可以通过下拉屏幕触发刷新操作...

Global site tag (gtag.js) - Google Analytics