这是一个连recycler都不用实例化就可以用并添加各种特效的管理工具,目前包含了添加header,footer,滑动显示删除按钮,快速滑动使item消失这几个功能。虽然这种封装其它大神早就写好了,但是本着学习的态度自己写了一个,发现自己的使用起来会简单点?于是分享一下
先放一下gif和使用代码,工具类的分析以后有空再慢慢写,各位大神也可以自己去git上看,思路很简单的。学生党抽点时间不容易/(ㄒoㄒ)/~~
源码在git上的,食用方法是将这个类复制到自己项目工程中,直接实例化这个类即可
效果:
git链接:https://github.com/Zzzia/ZiaRecycler
使用所需代码
private void setRecycler(){
//实例化这个类,参数为context,recyclerId,itemId,一个用于绑定数据的回调接口
RecyclerManager manager = new RecyclerManager(this,
R.id.recycler,
R.layout.item,
new RecyclerManager.OnBindHolder() {
@Override
public void bind(RecyclerManager.ViewHolder holder, Object o, int position) {
//获取item中的id,绑定数据,o为list中的泛型,这里集合为List<String>
TextView textView = holder.getView(R.id.item_tv);
textView.setText((String) o);
}
});
//以下附加特效方法中所有0值为设置默认值
//设置header和footer,参数view只写了一个textView
manager.addHeaderView(header1);
manager.addHeaderView(header2);
manager.addFootView(footer);
//设置滑动监听
//上下参数可选 ItemTouchHelper.UP | ItemTouchHelper.DOWN
//左右参数可选 ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT
manager.setItemViewSwipeAndStop(0,0);//向左滑动并露出额外的view
manager.setLongPressDragEnabled(0);//长按拖动
manager.Build();//设置完毕,最后调用该方法
manager.setData(list);//设置或刷新数据集合,这个方法可以在任何时间调用
}