我一直在做一些研究,我还没有找到一个示例或实现,允许您在刷卡时将视图(下面的示例图像)放在RecyclerView下面.有没有人有任何关于如何在不使用库的情况下实现它的示例或想法.
这是我如何实现轻扫以解雇.
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT | ItemTouchHelper.RIGHT) {
@Override
public boolean onMove(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, RecyclerView.ViewHolder target) {
return false;
}
@Override
public int getSwipeDirs(RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder) {
return super.getSwipeDirs(recyclerView, viewHolder);
}
@Override
public void onSwiped(RecyclerView.ViewHolder viewHolder, int direction) {
if (viewHolder instanceof ViewDividers) {
Log.e("DIRECTION", direction + "");
}
}
};
new ItemTouchHelper(simpleItemTouchCallback).attachToRecyclerView(recycler);
Run Code Online (Sandbox Code Playgroud)
我有一个RecyclerView,并希望允许我的用户使用滑动手势从列表中删除项目.但正如其他应用程序(例如Gmail)所知,我想在其后面显示一个删除图标,以便我的用户知道刷卡会导致删除.但是,我找不到一个明显的方法来做到这一点.ItemTouchHelper使用viewHolder.itemView,因此需要整行.
我的代码:
ItemTouchHelper.SimpleCallback simpleItemTouchCallback = new
ItemTouchHelper.SimpleCallback(0, ItemTouchHelper.LEFT) {
@Override
public boolean onMove(
final RecyclerView recyclerView,
final RecyclerView.ViewHolder viewHolder,
final RecyclerView.ViewHolder target) {
return false;
}
@Override
public void onSwiped(
final RecyclerView.ViewHolder viewHolder,
final int swipeDir) {
adapter.remove(viewHolder.getAdapterPosition());
}
};
ItemTouchHelper itemTouchHelper = new ItemTouchHelper(
simpleItemTouchCallback
);
itemTouchHelper.attachToRecyclerView(itemsRecyclerView);
itemsRecyclerView.setLayoutManager(
new LinearLayoutManager(getContext())
);
itemsRecyclerView.setAdapter(adapter);
Run Code Online (Sandbox Code Playgroud)
如果可能的话,有没有胶水?我现在唯一可以想象的是扩展ItemTouchHelper /复制代码,而不是使用viewHolder.itemView我采用ID标识的视图.