Giter VIP home page Giter VIP logo

circlerefreshlayout's Introduction

This is a project with custom pull-to-refresh layout which contains a interesting animation. And the animation is inspired by https://dribbble.com/shots/1797373-Pull-Down-To-Refresh made by Ramotion.

###Demo###

###Usage###

<com.tuesda.walker.circlerefresh.CircleRefreshLayout
        xmlns:app="http://schemas.android.com/apk/res-auto"
        app:AniBackColor="#ff8b90af"
        app:AniForeColor="#ffffffff"
        app:CircleSmaller="6"
        android:id="@+id/refresh_layout"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <ListView
            android:background="#ffffffff"
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"></ListView>
    </com.tuesda.walker.circlerefresh.CircleRefreshLayout>

Call back when refresh starts and complete:

mRefreshLayout.setOnRefreshListener(
                new CircleRefreshLayout.OnCircleRefreshListener() {
            @Override
            public void refreshing() {
                // do something when refresh starts
            }

            @Override
            public void completeRefresh() {
                // do something when refresh complete
            }
        });

when refreshing is done(for example, the image loading completes), you can invoke:

mRefreshLayout.finishRefreshing();

###License### MIT

circlerefreshlayout's People

Contributors

tuesda avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

circlerefreshlayout's Issues

CircleRefreshLayout refreshes even if it is not dragged from the top of the list

What I mean is that when I am trying to scroll up (not from the top element in list) the CircleRefreshLayout animation starts and it does refresh instead of scrolling up.

I am using a recyclerView , something like
` // Root layout

<LinearLayout> // Root layout
    <ToolBar>
    <CircleRefreshLayout>
        <LinearLayout>  // List Container
           <RecyclerView>`

and my code looks like I mentioned on issue #5

cannot take back

it cannot take back when i take place the listview with scrollview ,i am a little white . meizu mx5
and Curiously,virtual machine is ok

How to set "Enable & Disable"

I use this method "circleRefreshLayout.setEnabled(false);" but its not working.
I'd try to use CircleRefreshLayout into the CoordinatorLayout and i need to set it to enable and disable.

Calling mRefreshLayout.finishRefreshing() does not finish animation if its too fast

For example if as soon as the user refreshes, and there is no data to update (for example no connection/website down etc...) the animation just keeps on going but you can still refresh again by pulling while its refreshing.

I solved this by using a handler and calling postdelayed with a delay of 1000ms this would finish the view's animation but its not ideal because of 1000ms delay.

Not working on "CardView"

Hey, its not working on CardView (androidx.cardview.widget.CardView). Can you help me find the reason to it and solve this problem? Thanks.

Bug in many layouts

it don't finish and the refresh view is always loading

<LinearLayout
    android:id="@+id/progressContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="vertical"
    android:visibility="gone" >

    <com.wherewifi.ui.CircularProgressBar
        android:id="@+id/loadingProgressBar"
        android:layout_width="36dip"
        android:layout_height="36dip" />
</LinearLayout>

<FrameLayout
    android:id="@+id/listContainer"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.test.ui.CircleRefreshLayout
        android:id="@+id/refreshLayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_weight="1"
        app:AniBackColor="@color/actionbar_bg"
        app:AniForeColor="@color/bg_color"
        app:CircleSmaller="6" >

        <ListView
            android:id="@+id/list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:divider="@null"
            android:drawSelectorOnTop="false" />
    </com.test.ui.CircleRefreshLayout>

    <TextView
        android:id="@+id/internalEmpty"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"/>

    <LinearLayout
        android:id="@+id/wifilayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:orientation="horizontal"
        android:visibility="gone" >

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="10dip"
            android:text="@string/turn_on_wifi" />

        <android.support.v7.widget.SwitchCompat
            android:id="@+id/wifiSwitch"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
    </LinearLayout>
</FrameLayout>

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.