一个可以滑出条目操作菜单的RecycleView.ViewHolder 。
用法:
添加依赖
compile 'cn.easydone.swipemenuviewholder:SwipeMenuViewHolder:0.2'
或者使用 jitpack
Step 1. Add the JitPack repository to your build file Add it in your build.gradle at the end of repositories:
repositories {
// ...
maven { url "https://jitpack.io" }
}
Step 2. Add the dependency in the form
dependencies {
compile 'com.github.liangzhitao:SwipeMenuViewHolder:0.2'
}
在 Adapter 里继承 SwipeMenuViewHolder ,在 onCreateViewHolder 方法里 inflate 要拖动的布局和拖出来的布局。
View swipeMenuView = layoutInflater.inflate(R.layout.swipe_menu_view, viewGroup, false);
swipeMenuView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.MATCH_PARENT));
View captureView = layoutInflater.inflate(R.layout.capture_view, viewGroup, false);
captureView.setLayoutParams(new ViewGroup.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
return new SwipeViewHolder(context, swipeMenuView, captureView, SwipeMenuViewHolder.EDGE_RIGHT).getDragViewHolder();
在 onBindViewHolder 方法里设置拖出来的布局子View的点击事件。
swipeHolder.tvDelete.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mList.remove(position);
notifyItemRemoved(position);
notifyItemRangeChanged(position, getItemCount());
}
});
##License
The Apache Software License, Version 2.0 SOFTWARE.