This project aims to provide a simple and customizable pull to refresh implementation. Made in [Yalantis] (http://yalantis.com/?utm_source=github)
Check this [project on Dribbble] (https://dribbble.com/shots/1650317-Pull-to-Refresh-Rentals)
Check this [project on Behance] (https://www.behance.net/gallery/20411445/Mobile-Animations-Interactions)
#Usage
For a working implementation, Have a look at the Sample Project - sample
-
Include the library as local library project.
compile 'com.yalantis:phoenix:1.2.2'
-
Include the PullToRefreshView widget in your layout.
<com.yalantis.phoenix.PullToRefreshView android:id="@+id/pull_to_refresh" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/list_view" android:divider="@null" android:dividerHeight="0dp" android:layout_width="match_parent" android:layout_height="match_parent" /> </com.yalantis.phoenix.PullToRefreshView>
-
In your
onCreate
method refer to the View and setup OnRefreshListener.mPullToRefreshView = (PullToRefreshView) findViewById(R.id.pull_to_refresh); mPullToRefreshView.setOnRefreshListener(new PullToRefreshView.OnRefreshListener() { @Override public void onRefresh() { mPullToRefreshView.postDelayed(new Runnable() { @Override public void run() { mPullToRefreshView.setRefreshing(false); } }, REFRESH_DELAY); } });
#Customization
To customize drawables you can change:
- sun.png - Sun image
- sky.png - background image
- buildings.png - foreground image
If you need to change progress state:
mPullToRefreshView.setRefreshing(boolean isRefreshing)
#Compatibility
- Android GINGERBREAD 2.3+
- Sample updated with RecyclerView example
- Showing the refresh view just in it's bounds. (Issue with transparent / empty ListView)
- Possibility to set refresh view padding
- Initial Build
Copyright 2015, Yalantis
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.