[Android Open Source] PullRefreshLayout

2015. 7. 29. 14:06Programing/Android Open Source

https://github.com/baoyongzhang/android-PullRefreshLayout


This component like SwipeRefreshLayout, it is more beautiful than SwipeRefreshLayout.

Demo

Screenshot

Usage

Add dependency.

dependencies {
    compile 'com.baoyz.pullrefreshlayout:library:1.0.1'
}

Use method like SwipeRefreshLayout's usage.

Use it in your layout xml.

<com.baoyz.widget.PullRefreshLayout
    android:id="@+id/swipeRefreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <!-- ListView、ScrollView、RecyclerView、Other -->

</com.baoyz.widget.PullRefreshLayout>

Get instance and use it.

PullRefreshLayout layout = (PullRefreshLayout) findViewById(...);

// listen refresh event
layout.setOnRefreshListener(new PullRefreshLayout.OnRefreshListener() {
    @Override
    public void onRefresh() {
        // start refresh
    }
});

// refresh complete 
layout.setRefreshing(false);

Change the refresh style, there are four styles of use, MATERIALCIRCLES、 WATER_DROP and RING.

In java, call setRefreshStyle method.

layout.setRefreshStyle(PullRefreshLayout.STYLE_CIRCLES);

In xml, use attributes.

<com.baoyz.widget.PullRefreshLayout
    android:id="@+id/swipeRefreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:type="water_drop">

</com.baoyz.widget.PullRefreshLayout>

Change the color scheme. In java, call setColorSchemeColors method. The int array length must be 4.

layout.setColorSchemeColors(int []);

In xml, use attributes.

<com.baoyz.widget.PullRefreshLayout
    android:id="@+id/swipeRefreshLayout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    app:colors="@array/scheme_colors">

</com.baoyz.widget.PullRefreshLayout>