我用RecyclerView与ItemTouchHelper做刷卡删除,并添加类似这样的刷卡项目下删除按钮: RecyclerView ItemTouchHelper如何锁定滑动项目?
但是,当我完成刷卡,该项目将被从列表中移除很快! 如何锁定已滑动的物品,并通过点击删除按钮将其删除? 就像Gmail的行为一样。
我用RecyclerView与ItemTouchHelper做刷卡删除,并添加类似这样的刷卡项目下删除按钮: RecyclerView ItemTouchHelper如何锁定滑动项目?
但是,当我完成刷卡,该项目将被从列表中移除很快! 如何锁定已滑动的物品,并通过点击删除按钮将其删除? 就像Gmail的行为一样。
张贴同样的问题在您的SimpleCallback
设置你的getMovementFlags()
然后OnClickListeners:
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
if (dX > ARCHIVE_LAYOUT_WIDTH) {
getDefaultUIUtil().onDraw(c, recyclerView, ((YOUR_VIEW_HOLDER) viewHolder).getSwipableView(), dX, dY, actionState, isCurrentlyActive);
}
}
这不是最干净的解决方案,但它让你更接近。
只需按照例如 “Support7Demos/src目录/ COM /例子/安卓/ supportv7 /空间/触摸/ SwipeToDismissActivity.java”,并在方法一小变 “onChildDraw”
public boolean onChildDraw(Canvas c, RecyclerView recyclerView,
RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState,
boolean isCurrentlyActive) {
float translationX = Math.min(-dX, viewHolder.itemView.getWidth()/2);
viewHolder.itemView.setTranslationX(-translationX);
return true;
}
此方法必须返回true,否则ItemTouchUIUtil将覆盖translationX Screenshot
很酷它为我的woking –
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
float translationX;
if(dX > 0){
translationX = Math.min(-dX, viewHolder.itemView.getWidth()/2);
}
else {
translationX = Math.max(dX, (-1)* viewHolder.itemView.getWidth()/2);
}
super.onChildDraw(c, recyclerView, viewHolder, translationX, dY, actionState, isCurrentlyActive);
}
不幸的是,这只适用于当你打开时,当你关闭你需要恢复你收到的dX,直到你达到门槛。然后,当您释放时,您会看到从中间开始的项目,因为真正的dX位于中间。 – Davidea
这个职位之前提出的解决方案使只有最终效果1/5。
不幸的是,它们只在滑动才能打开1个项目时才起作用,但当您关闭它时,您需要恢复从参数接收的dX量,直到达到阈值。然后,当你释放你看到从中间开始的项目,因为你收到的真正的dX仍然指向中间!真是丑陋的故障。
我相信ItemTouchHelper仅适用于每次完全滑动1个项目。除非有一种方法可以停止接收DX比所需的宽度更大,那么你需要解决以下问题:
你有能力实现它..如果是的请分享recyclerview的ItemTouchHelper ...我卡住了,我发布了类似这样的问题,http://stackoverflow.com/questions/35131463/swipe -with-recyclerview-without-any-third-party-library – TheReprator