Android RecyclerView 各种刷新实现思路

   

1.BaseRecyclerViewAdapterHelper  里边有上拉下拉的  上拉可能有问题 所以 直接换别的比如Google的SwipeRefreshLayout,或者SmartRefreshLayout,https://github.com/scwang90/SmartRefreshLayout#1  .

2.

compile 'com.scwang.smartrefresh:SmartRefreshLayout:1.0.5.1'
compile 'com.scwang.smartrefresh:SmartRefreshHeader:1.0.5.1'//没有使用特殊Header,可以不加这行
 <com.scwang.smartrefresh.layout.SmartRefreshLayout
        android:id="@+id/refreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        app:srlAccentColor="#00000000"
        app:srlEnablePreviewInEditMode="true"
        app:srlPrimaryColor="#00000000">

        <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>

 

 refreshLayout.setOnRefreshLoadMoreListener(new OnRefreshLoadMoreListener() {
            @Override
            public void onRefresh(RefreshLayout refreshLayout) {
                list.add("我是新加的RefreshLayout");
                myAdapter.notifyDataSetChanged();
                refreshLayout.finishRefresh();
            }

            @Override
            public void onLoadMore(RefreshLayout refreshLayout) {
                list.add("我是新加的onLoadMore");
                myAdapter.notifyDataSetChanged();
                refreshLayout.finishLoadMore();
            }
        });

 



补充一些效果

<com.scwang.smartrefresh.layout.header.BezierRadarHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

<com.scwang.smartrefresh.layout.header.ClassicsHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

<com.scwang.smartrefresh.header.BezierCircleHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

 

 

<com.scwang.smartrefresh.header.DeliveryHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

<com.scwang.smartrefresh.header.DropboxHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

<com.scwang.smartrefresh.header.FunGameBattleCityHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

<com.scwang.smartrefresh.header.FunGameHitBlockHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

<com.scwang.smartrefresh.header.MaterialHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

<com.scwang.smartrefresh.header.PhoenixHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

<com.scwang.smartrefresh.header.StoreHouseHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 <com.scwang.smartrefresh.header.TaurusHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 <com.scwang.smartrefresh.header.WaterDropHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

<com.scwang.smartrefresh.header.WaveSwipeHeader
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

 








底部         头部和底部可以直接用的

 <com.scwang.smartrefresh.layout.footer.BallPulseFooter
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

 

 <com.scwang.smartrefresh.layout.footer.ClassicsFooter
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content" />

属性

app:srlEnableHeaderTranslationContent="true"
  设置内容是否跟随滑动

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 
 
 
 
相关推荐
©️2020 CSDN 皮肤主题: 像素格子 设计师:CSDN官方博客 返回首页