XRefreshLayout

Introduction: A refresh layout, can refresh RecyclerView for all LayoutManager, NestedScrollView and Any View that implements NestedScrollChild!
More: Author   ReportBugs   
Tags:
RecyclerView 下拉刷新-

A refresh layout, can refresh RecyclerView for all LayoutManager, NestedScrollView and Any View that implements NestedScrollChild !

Feature

  • support RecyclerView for all LayoutManager in vertical orientation !
  • support NestedScrollView !
  • support any view that implements NestedScrollChild !
  • support custom refresh header and footer , which means you can make you wanderful animation !
  • not support ListView, GridView, ScrollView !

Screenshot

  • refresh RecyclerView for StaggeredGridLayoutManager :

    staggered

  • refresh RecyclerView for GridLayoutManager :

    grid

  • refresh RecyclerView for LinearLayoutManager :

    linear

  • refresh NestedScrollView :

    nestedscroll

  • custom refresh animation! There is two animation style now, I will support more animation in future...

    custom_anim

Gradle

dependencies {
    compile 'com.lxj:xrefreshlayout:0.0.1'
}

Get Start

  • make your layout

    <com.lxj.xrefreshlayout.XRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:id="@+id/xrefreshLayout"
        android:layout_height="match_parent">
    
        <android.support.v7.widget.RecyclerView
            android:id="@+id/recyclerview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
    </com.lxj.xrefreshlayout.XRefreshLayout>
    

    或者

    <com.lxj.xrefreshlayout.XRefreshLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:id="@+id/xrefreshLayout"
        android:layout_height="match_parent">
    
        <android.support.v4.widget.NestedScrollView
            android:id="@+id/recyclerview"
            android:layout_width="match_parent"
            android:layout_height="match_parent"/>
    
    </com.lxj.xrefreshlayout.XRefreshLayout>
    

  • set refresh listener

    xrefreshLayout.setOnRefreshListener(new XRefreshLayout.OnRefreshListener() {
                @Override
                public void onRefresh() {
                }
    
                @Override
                public void onLoadMore() {
                }
            });
    
  • finish refresh

    xrefreshLayout.completeRefresh();
    
  • set custom loadinglayout

    //you can see the DefaultLoadingLayout for some help.
    xrefreshLayout.setLoadingLayout(...);
    

Apps
About Me
GitHub: Trinea
Facebook: Dev Tools