Ich habe eine Recycler-Ansicht mit ItemTouchHelper. Es ermöglicht das Ziehen der Elemente.ItemTouchHelper: Verhindern Sie das Ziehen außerhalb der Grenzen
Ich möchte das Ziehen auf die Grenzen der Recycler-Ansicht beschränken - d. H. Sie können die Ansicht nicht einfach außerhalb des Containers ziehen, sodass sie verschwindet.
Ich habe versucht, die absoluten Koordinaten wie diese Überprüfung:
@Override
public void onChildDraw(Canvas c, RecyclerView recyclerView, RecyclerView.ViewHolder viewHolder, float dX, float dY, int actionState, boolean isCurrentlyActive) {
recyclerView.getLocationOnScreen(pos);
int rvY = pos[1];
viewHolder.itemView.getLocationOnScreen(pos);
int vhY = pos[1];
if (rvY > vhY || rvY + recyclerView.getHeight() < vhY + viewHolder.itemView.getHeight()) {
return;
}
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive);
...
}
aber dann laufe ich in irgendwie Rendering concurency - wenn ich den Blick langsam bewegen, wird es in Bewegung zu stoppen, wenn außerhalb der Grenzen zu gehen, aber wenn ich umziehe schneller - dann verlässt es sowieso die Grenzen des Recyclers.
Irgendwelche Ideen/Ansätze?
Sie dies schließlich lösen haben? – Frank