GithubHelp home page GithubHelp logo

canerdogan / pulltorefresh-listview Goto Github PK

View Code? Open in Web Editor NEW

This project forked from erikwt/pulltorefresh-listview

1.0 1.0 0.0 456 KB

A generic, customizable, open source Android ListView implementation that has 'Pull to Refresh' functionality.

Home Page: https://github.com/erikwt/PullToRefresh-ListView

pulltorefresh-listview's Introduction

Android 'Pull to Refresh' ListView library

Screenshot

Demo video: http://www.youtube.com/watch?v=VjmdELnm3GI

Project

A generic, customizable, open source Android ListView implementation that has 'Pull to Refresh' functionality. This ListView can be used as a replacement of the normal Android android.widget.ListView class.

/**
 * Users of this library should implement OnRefreshListener and call setOnRefreshListener(..)
 * to get notified on refresh events. The using class should call onRefreshComplete() when
 * refreshing is finished.
 * 
 * The using class can call setRefreshing() to set the state explicitly to refreshing. This 
 * is useful when you want to show the spinner and 'Refreshing' text when the
 * refresh was not triggered by 'Pull to Refresh', for example on start.
 * 
 * @author Erik Wallentinsen <dev+ptr at erikw.eu>
 */

Features

  • Drop-in replacement for the android.widget.ListView widget
  • Nice graphics (thanks to johannilsson - see credits)
  • Animations; bouncing animation and rotation animation (see video)
  • Easy to integrate in your Android project (see usage)
  • Works for any Android project targeting Android 1.6 (API level 4) and up
  • Highly customizable (using Android styles)

Info

Feel free to ask questions, report bugs and request features at dev at erikw dot eu or on the PullToRefresh-ListView github issue page. You can also hit me up on twitter if that's your thing.

Usage

Example project

Check out the example project in this repository for an implementation example. There is also moretechnical documentation available as javadoc in the library project code.

Layout

<!--
  The PullToRefresh-ListView replaces a standard ListView widget,
  and has all the features android.widget.ListView has.
-->
<eu.erikw.PullToRefreshListView
    android:id="@+id/pull_to_refresh_listview"
    android:layout_height="fill_parent"
    android:layout_width="fill_parent" />

Activity

// Set a listener to be invoked when the list should be refreshed.
PullToRefreshListView listView = (PullToRefreshListView) findViewById(R.id.pull_to_refresh_listview);
listView.setOnRefreshListener(new OnRefreshListener() {
    
    @Override
    public void onRefresh() {
        // Your code to refresh the list contents
        
        // ...
        
        // Make sure you call listView.onRefreshComplete()
        // when the loading is done. This can be done from here or any
        // other place, like on a broadcast receive from your loading
        // service or the onPostExecute of your AsyncTask.
        
        listView.onRefreshComplete();
    }
});

Style

To change the looks of the 'PullToRefresh' ListView, you can override the styles that are defined in the library project. Default, the looks are very basic (see screenshot above), with black text on a white background. You can change every aspect to your needs though, like the arrow image, text size, text color and background.

To do so, override the style attributes to your liking, like the following example:

<style name="ptr_text">
        
    <!-- Change the text style and color -->
    <item name="android:textStyle">bold|italic</item>
    <item name="android:textColor">#cccccc</item>
</style>

The various styles you can override are;

  • ptr_headerContainer
  • ptr_header
  • ptr_arrow
  • ptr_spinner
  • ptr_text

The default attributes can be found in the library project

Author

I’m a young, enthusiastic hacker from Amsterdam. I study computer science at the VU (Free University) and my work mostly involves Android programming. I do a lot of hacking in my spare time, resulting in many projects I want to share with the world.

Other projects

This project might not be the best library for you to use in your project, depending on your likes and needs. Consider using these great 'Pull to Refresh' libraries;

Credits

License

Copyright (c) 2012 - Erik Wallentinsen

Licensed under the Apache License, Version 2.0

pulltorefresh-listview's People

Stargazers

Can Erdoğan avatar

Watchers

Can Erdoğan avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.