一個RecyclerView擴展庫:RecyclerViewLibrary

RecyclerViewLibrary

A RecyclerView libirary ,has some support, like headerAdapter/TreeAdapter,and PulltoRefreen/Drag

一個RecyclerView擴展庫,其中主要包含

1:針對RecyclerView數據適配器的封裝
2:RecyclerView上拉刷新,下拉加載
3:RecyclerView拖動

RecyclerView 自定義數據適配器

  • HeaderAdapter:一個支持動態添加/移除頭和尾的Adapter,不推薦單獨使用.PullToRefreenceRecyclerView內己封裝,可如ListView一般操作,且更靈活
  • ExpandAdapter:Recyclerview實現為如ExpandListView功能的數據適配器.
  • TreeAdapter:一個無限級的Adapter樹
  • DynamicAdapter:完全動態化的Adapter,支持往任一位置插入自定義條目.

RecyclerView 拖動(Drag)

  • Linear/Grid拖動
  • Dynamic條目拖動(跨度很大的任一條目支持)
  • 自定義控制演示 ================

RecyclerView 上拉刷新下拉加載

部分實現介紹

RecyclerView#setAdapter mAdapter==HeaderViewAdapter:RecyclerView內部維護Adapter,所以實現不影響使用者Adapter的情況下,類ListView般使用,實現like:ListView的HeaderListAdapter

@Override
    public void setAdapter(Adapter adapter) {
        mAdapter.setAdapter(adapter);
        super.setAdapter(mAdapter);
        adapter.registerAdapterDataObserver(new HeaderAdapterDataObserve(mAdapter));
    }

#### HeaderAdapter:type定義 type_header:為-1往下遞減
type_footer:為12以上遞加
實現動態無限添加與刪除

private final int TYPE_HEADER = -1;//從-1起始開始減
    private final int TYPE_NORMAL = 0;//默認從0開始
    private final int TYPE_NORMAL_ITEM_COUNT = 12;//隨意取的值,確保裝飾Adapter對象不會超過此界即可
    private final int TYPE_FOOTER = TYPE_NORMAL_ITEM_COUNT + 1;

還有更難實現的DynamicAdapter等

參考:RecyclerView-Animator/XRecyclerView.非常感謝.

項目地址: https://github.com/momodae/RecyclerViewLibrary

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!