一個超輕量級的RecycleViewAdapter輔助類庫

EasyRecycleAdapterHelper

一個簡單實用的RecycleViewAdapter幫助庫

簡介

  • 1.RecycleView的OnItemClick,OnItemLongClick的點擊事件
  • 2.RecycleView的Item動畫,默認實現了一種動畫效果,可自行擴展
  • 3.添加頭部尾部,分割線
  • 4.列表和表格布局的上拉加載更多

Tips

  • 該庫并沒有實現下拉刷新,因為考慮到對下拉刷新的需求不一致,所以暫不提供,可自實現,該庫只是提供一個對RecycleView的使用的封裝,處理了一些常見的需求,有什么問題可以給我提issuse.

截圖

添加依賴

To get a Git project into your build:Step
1. Add the JitPack repository to your build fileAdd it in your root build.gradle at    the end of repositories:  
allprojects {     
repositories {       
 ...        
maven { url "https://jitpack.io" }    
 }  }

Step 2. Add the dependency 

dependencies {          
compile 'com.github.HotBitmapGG:EasyRecycleAdapterHelper:V1.1'   } 

使用說明&Demo


* Adapter
@Override public ClickableViewHolder onCreateViewHolder(ViewGroup parent, int viewType) {   

//綁定上下文   
bindContext(parent.getContext());    

//創建ViewHolder   
return new ItemViewHolder(LayoutInflater.from(getContext()).inflate(R.layout.item_main, parent, false));
}

@Override public void onBindViewHolder(ClickableViewHolder holder, int position) {   

if (holder instanceof ItemViewHolder){        
 ItemViewHolder itemViewHolder = (ItemViewHolder) holder;     
 itemViewHolder.mTextView.setText(datas.get(position));     

//添加動畫         
showItemAnim(itemViewHolder.mLayout, position); 
}     

super.onBindViewHolder(holder, position); }

* Activity

//初始化
RecycleViewmRecyclerView = (RecyclerView) findViewById(R.id.recycle_view);
assert mRecyclerView != null;
mRecyclerView.setHasFixedSize(true);

//設置LayoutManager
LinearLayoutManager mLinearLayoutManager = new LinearLayoutManager(this);
mRecyclerView.setLayoutManager(mLinearLayoutManager);

//設置分割線
mRecyclerView.addItemDecoration(new EasyDividerItemDecoration(this ,EasyDividerItemDecoration.VERTICAL_LIST));

//創建Adapter
mRecycleAdapter = new RecycleAdapter(mRecyclerView, datas);

//使用EasyAdapter包裝一層 添加頭部 尾部
EasyRecycleAdapter mEasyRecycleAdapter = new EasyRecycleAdapter(mRecycleAdapter);

//添加頭部
createHead();
mEasyRecycleAdapter.addHeaderView(headView);

//添加尾部 上拉加載更多
createFoot();
mEasyRecycleAdapter.addFooterView(footView);

//設置適配器
mRecyclerView.setAdapter(mEasyRecycleAdapter);

//添加Scroll監聽 上拉加載更多數據
mRecyclerView.addOnScrollListener(new EasyRecycleOnScrollListener(mLinearLayoutManager){   
@Override   
public void onLoadMore(int currentPage)  
{       
  //這里是上拉更多數據的邏輯       
   page++;      
   loadMoreData();   
}
});

//設置item點擊事件
mRecycleAdapter.setOnItemClickListener(new EasyBaseRecycleViewAdapter.OnItemClickListener(){   
@Override   
public void onItemClick(int position, EasyBaseRecycleViewAdapter.ClickableViewHolder holder) {   

 Toast.makeText(MainActivity.this, datas.get(position),   
 Toast.LENGTH_SHORT).show();  
}
});

//初始化尾部
private void createFoot(){   
footView = LayoutInflater.from(this).inflate(R.layout.load_more_foot_layout, mRecyclerView, false);
}

//初始化頭部
private void createHead(){  
headView = LayoutInflater.from(this).inflate(R.layout.layout_recycle_head, mRecyclerView, false);
}

GitHub

https://github.com/HotBitmapGG/EasyRecycleAdapterHelper

關于我

https://github.com/HotBitmapGG

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • afinalAfinal是一個android的ioc,orm框架 https://github.com/yangf...
    passiontim閱讀 15,568評論 2 45
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,455評論 25 708
  • 我愛你 愛得熱烈如火 你愛我 愛得云淡風輕 我愛你 愛得身不由己 你愛我 愛得漫不經心 我愛你 愛得飛蛾撲火 你愛...
    沂得山閱讀 182評論 0 2
  • ——苦——后悔的味道人生猶如宇宙而愛是星球為自由我逃離曾經居住的星球我以為這樣的飄蕩就是自由但是我錯了飄蕩不是自由...
    河床閱讀 243評論 0 1
  • 歷來對哲學涉獵甚少,近日看周國平先生的《安靜》,算是對哲學方面的開蒙,有些概念尚顯懵懂,也看到一些可作思考的激發點...
    墨語花開時閱讀 153評論 0 2