Skip to content

naseemakhtar994/android_scroll_endless

This branch is 1 commit behind rafaelcrz/android_scroll_endless:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

10f35bc · Oct 22, 2017

History

29 Commits
Jun 12, 2017
Jun 17, 2017
Jun 17, 2017
Jun 10, 2017
Jun 12, 2017
Oct 22, 2017
Jun 17, 2017
Jun 10, 2017
Jun 10, 2017
Jun 10, 2017
Jun 11, 2017
Jun 10, 2017

Repository files navigation

Android Endless Scroll

Android Arsenal

This project is a EndlessScroll for using on RecyclerView

Preview

The ProgressDialog is optional

Sample

This project has a sample

Integrating into your project

This project is available in JitPack.io repository.

Add into build.gradle

allprojects {
    repositories {
        jcenter()
        maven { url "https://jitpack.io" }
    }
}

Add into app/build.gradle

dependencies {
  compile 'com.github.rafaelcrz:android_scroll_endless:master-SNAPSHOT'
}

Usage

Endeles Scroll

  • Configure the RecyclerView with the Adapter and LayoutManager before use the ScrollEndeless
recyclerView.setAdapter(adapter);
recyclerView.setLayoutManager(layoutManager);
  • Declare ScrollEndless like this
endless = new ScrollEndless(mContext, recyclerView, layoutManager);
  • Set the total page. Default is 1 The total pages value you can get it from your response, setting in a global variable.
endless.setTotalPage(total);
  • This is importante. Make your requestCall before get the EndlessListener. For popule the adapter.
yourRequestCall();
  • Get the ScrollEndless listener.
endless.addScrollEndless(new ScrollEndless.EndlessScrollListener() {
    @Override
    public void onLoadMore() {
        //Get the next page when is available
        yourRequestMethod();
    }

    @Override
    public void onLoadAllFinish() {
        //Is the last page. Load all itens
    }
});
  • In your requestMetohd, is very important set the following methods. In your requestMethod, before 'response', use it: The ScrollEndless needs know when the request is executing.
endless.isLoading(true);

If you want, use it for show a simple ProgressDialog

endless.showProgressDialog("title", "message", cancelable: boolean); 

For close it, use

endless.closeProgressDialog() 

In the onResponse or when the data item are complete in adapter

endless.isLoading(false); 

If you want, use it for close the ProgressDialog

endless.closeProgressDialog(); 

Set the next Page (before the increment)

endless.setPage(page);

Increment the page

page = endless.getPage() + 1;

ScrollManagerDirection

Use it for manage the Scroll direction and do something when scroll up / scroll down. For example, show or hide a FloatButton

        //Recyclerview down/up
        endless.addScrollManagerDirection(new ScrollEndless.ScrollManagerDirectionListener() {
            @Override
            public void onScrollUp() {
                //do something
                floatingActionButton.hide();
                floatingActionButton.animate();
            }

            @Override
            public void onScrollDown() {
                //do something
                floatingActionButton.show();
                floatingActionButton.animate();
            }
        });

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%