Пример #1
0
 private void handleScroll(RecyclerView recyclerView) {
   if (scrollState != RecyclerView.SCROLL_STATE_IDLE) {
     return;
   }
   DragInfo lastDragInfo = dragManager.getLastDragInfo();
   if (lastDragInfo != null) {
     handleDragScroll(recyclerView, lastDragInfo);
   }
 }
Пример #2
0
 void handleDragScroll(RecyclerView rv, DragInfo dragInfo) {
   if (rv.getLayoutManager().canScrollHorizontally()) {
     if (rv.canScrollHorizontally(-1) && dragInfo.shouldScrollLeft()) {
       rv.scrollBy(-SCROLL_AMOUNT, 0);
       dragManager.clearNextMove();
     } else if (rv.canScrollHorizontally(1) && dragInfo.shouldScrollRight(rv.getWidth())) {
       rv.scrollBy(SCROLL_AMOUNT, 0);
       dragManager.clearNextMove();
     }
   } else if (rv.getLayoutManager().canScrollVertically()) {
     if (rv.canScrollVertically(-1) && dragInfo.shouldScrollUp()) {
       rv.scrollBy(0, -SCROLL_AMOUNT);
       dragManager.clearNextMove();
     } else if (rv.canScrollVertically(1) && dragInfo.shouldScrollDown(rv.getHeight())) {
       rv.scrollBy(0, SCROLL_AMOUNT);
       dragManager.clearNextMove();
     }
   }
 }
Пример #3
0
 /**
  * You probably want to use this to set the currently dragging item to blank while it's being
  * dragged
  *
  * @return the id of the item currently being dragged or {@code RecyclerView.NO_ID } if not being
  *     dragged
  */
 public long getDraggingId() {
   return dragManager.getDraggingId();
 }