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