在Android上实现无限滚动的库:mugen

jopen 9年前

mugen是一个微型库用于在Android上实现无限滚动的功能。

Features

  • Add infinite scroll to your lists with a few lines of code.
  • Configuration allows you to decide how and when to trigger loading. You can even disable load more when all items have been fetched for network usage optimization.
  • Supports bothAbsListViewandRecyclerView! Which means it's one single library to enable infinite scroll forListView,GridViewandRecyclerViewinstances.

Usage

    //mCollectionView can be a ListView, GridView, RecyclerView or any instance of AbsListView!      BaseAttacher attacher = Mugen.with(mCollectionView, new MugenCallbacks() {              @Override              public void onLoadMore() {                  /* Will be triggered when the next page has to be loaded.                  *                  * Do your load operation here.                  * Note: this is NOT asynchronous!                  */              }                @Override              public boolean isLoading() {                  /* Return true if a load operation is ongoing. This will                  * be used as an optimization to prevent further triggers                  * if the user scrolls up and scrolls back down before                   * the load operation finished.                  *                   * If there is no load operation ongoing, return false                  */                  return isLoading;              }                @Override              public boolean hasLoadedAllItems() {                  /*                  * If every item has been loaded from the data store, i.e., no more items are                  * left to fetched, you can start returning true here to prevent any more                  * triggers of the load more method as a form of optimization.                  *                  * This is useful when say, the data is being fetched from the network                  */                  return false;              }          }).start();            /* Use this to dynamically turn infinite scroll on or off. It is enabled by default */          attacher.setLoadMoreEnabled(true);             /* Use this to change when the onLoadMore() function is called.           * By default, it is called when the scroll reaches 2 items from the bottom */          attacher.setLoadMoreOffset(4);             /*          * mugen uses an internal OnScrollListener to detect and trigger load events.          * If you need to listen to scroll events yourself, you can set this and           * mugen will automatically forward all scroll events to the listener.          */          attacher.setOnScrollListener(listener);

mugen in action

alt_tag

项目主页:http://www.open-open.com/lib/view/home/1431414846747