项目地址:
CircleRecyclerView
简介:支持多种显示效果与无限滚动的 RecyclerView
CircleRecyclerView
the library is a loop RecyclerView, can show some effects when display
screenshot
CircularViewMode
![CircularViewMode](https://i-blog.csdnimg.cn/blog_migrate/f24352c04f2ad5e82f765d3fda26a9a7.gif)
ScaleXViewMode & ScaleYViewMode
![ScaleXYViewMode](https://i-blog.csdnimg.cn/blog_migrate/3f078e105c1681d4785c77e6c1af1e5d.gif)
RotateXScaleYViewMode & RotateYScaleXViewMode
![RotateXYScaleXYViewMode](https://i-blog.csdnimg.cn/blog_migrate/9dcd8f6ba8936d04e0a35d1705fb40bb.gif)
usage
mCircleRecyclerView = (CircleRecyclerView) view.findViewById(R.id.circle_rv);
mCircleRecyclerView.setLayoutManager(mLayoutManager);
mCircleRecyclerView.setViewMode(mItemViewMode); // T implements ItemViewMode, after setLayoutManager(manager)
mCircleRecyclerView.setNeedCenterForce(true); // when SCROLL_STATE_IDLE == state, nearly center itemview scroll to center
mCircleRecyclerView.setNeedLoop(true); // default is true
// if setCenterForce(true), can set this callback
mCircleRecyclerView.setOnCenterItemClickListener(new CircleRecyclerView.OnCenterItemClickListener() {
@Override
public void onCenterItemClick(View v) {
Toast.makeText(getContext(), "Center Clicked", Toast.LENGTH_SHORT).show();
}
});
and if loop is true, the RecyclerView.Adapter need like this:
@Override
public void onBindViewHolder(VH holder, int position) {
positionData = mDataList.get(position % mDataList.size());
}
@Override
public int getItemCount() {
return Integer.MAX_VALUE;
}