Provide a reusable WaveSwipe to Refresh widget for Android

WaveSwipeRefreshLayout

This project aims to provide a reusable WaveSwipe to Refresh widget for Android.
Even if this works fine with API.13 or less, we support only for API.14 or more.

Requirements

Target Sdk Version : 21
Min Sdk Version : 14

How to use

  1. Add this to your build.gradle.
repositories {
    maven {
        url "https://jitpack.io"
    }
}

dependencies {
  compile 'com.github.recruit-lifestyle:WaveSwipeRefreshLayout:1.6'
}
  1. Add java jp.co.recruit_lifestyle.android.widget.WaveSwipeRefreshLayout , which has at least one AbsListView, to your layout XML file.
<jp.co.recruit_lifestyle.android.widget.WaveSwipeRefreshLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/main_swipe">

      <ListView
          android:id="@+id/main_list"
          android:layout_width="match_parent"
          android:layout_height="match_parent"/>

</jp.co.recruit_lifestyle.android.widget.WaveSwipeRefreshLayout>
  1. Add the function so that the your application knows when a user has completed a 'WaveSwipeRefresh'.
mWaveSwipeRefreshLayout = (WaveSwipeRefreshLayout) findViewById(R.id.main_swipe);
mWaveSwipeRefreshLayout.setOnRefreshListener(new WaveSwipeRefreshLayout.OnRefreshListener() {
  @Override public void onRefresh() {
    // Do work to refresh the list here.
    new Task().execute();
  }
});

private class Task extends AsyncTask<Void, Void, String[]> {
  ...
  @Override protected void onPostExecute(String[] result) {
    // Call setRefreshing(false) when the list has been refreshed.
    mWaveSwipeRefreshLayout.setRefreshing(false);
    super.onPostExecute(result);
  }
}

GitHub