public class DraggableController extends java.lang.Object implements IDraggableListener
| Constructor and Description |
|---|
DraggableController(BaseQuickAdapter adapter) |
| Modifier and Type | Method and Description |
|---|---|
void |
disableDragItem()
Disable drag items.
|
void |
disableSwipeItem() |
void |
enableDragItem(ItemTouchHelper itemTouchHelper)
Enable drag items.
|
void |
enableDragItem(ItemTouchHelper itemTouchHelper,
int toggleViewId)
Enable drag items.
|
void |
enableDragItem(ItemTouchHelper itemTouchHelper,
int toggleViewId,
boolean dragOnLongPress)
Enable drag items.
|
void |
enableSwipeItem()
Enable swipe items.
|
int |
getViewHolderPosition(RecyclerView.ViewHolder viewHolder) |
boolean |
hasToggleView()
Is there a toggle view which will trigger drag event.
|
void |
initView(BaseViewHolder holder) |
boolean |
isItemDraggable() |
boolean |
isItemSwipeEnable() |
void |
onItemDragEnd(RecyclerView.ViewHolder viewHolder) |
void |
onItemDragMoving(RecyclerView.ViewHolder source,
RecyclerView.ViewHolder target) |
void |
onItemDragStart(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwipeClear(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwiped(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwipeStart(RecyclerView.ViewHolder viewHolder) |
void |
onItemSwiping(android.graphics.Canvas canvas,
RecyclerView.ViewHolder viewHolder,
float x,
float y,
boolean isCurrentlyActive) |
void |
setOnItemDragListener(OnItemDragListener onItemDragListener) |
void |
setOnItemSwipeListener(OnItemSwipeListener listener) |
void |
setToggleDragOnLongPress(boolean longPress)
Set the drag event should be trigger on long press.
|
void |
setToggleViewId(int toggleViewId)
Set the toggle view's id which will trigger drag event.
|
public DraggableController(BaseQuickAdapter adapter)
public void initView(BaseViewHolder holder)
public void setToggleViewId(int toggleViewId)
toggleViewId - the toggle view's idpublic void setToggleDragOnLongPress(boolean longPress)
longPress - by default is true.public void enableDragItem(ItemTouchHelper itemTouchHelper)
itemTouchHelper - ItemTouchHelperpublic void enableDragItem(ItemTouchHelper itemTouchHelper,
int toggleViewId)
itemTouchHelper - ItemTouchHelpertoggleViewId - The toggle view's id.public void enableDragItem(ItemTouchHelper itemTouchHelper,
int toggleViewId,
boolean dragOnLongPress)
itemTouchHelper - ItemTouchHelpertoggleViewId - The toggle view's id.dragOnLongPress - If true the drag event will be trigger on long press, otherwise on touch down.public void disableDragItem()
public boolean isItemDraggable()
isItemDraggable in interface IDraggableListenerpublic boolean hasToggleView()
IDraggableListenerhasToggleView in interface IDraggableListenerpublic void enableSwipeItem()
Enable swipe items.
You should attachItemTouchHelper which construct with ItemDragAndSwipeCallback to the Recycler when you enable this.public void disableSwipeItem()
public boolean isItemSwipeEnable()
isItemSwipeEnable in interface IDraggableListenerpublic void setOnItemDragListener(OnItemDragListener onItemDragListener)
onItemDragListener - Register a callback to be invoked when drag event happen.public int getViewHolderPosition(RecyclerView.ViewHolder viewHolder)
public void onItemDragStart(RecyclerView.ViewHolder viewHolder)
onItemDragStart in interface IDraggableListenerviewHolder - viewHolderpublic void onItemDragMoving(RecyclerView.ViewHolder source,
RecyclerView.ViewHolder target)
onItemDragMoving in interface IDraggableListenersource - sourcetarget - targetpublic void onItemDragEnd(RecyclerView.ViewHolder viewHolder)
onItemDragEnd in interface IDraggableListenerviewHolder - viewHolderpublic void setOnItemSwipeListener(OnItemSwipeListener listener)
public void onItemSwipeStart(RecyclerView.ViewHolder viewHolder)
onItemSwipeStart in interface IDraggableListenerviewHolder - viewHolderpublic void onItemSwipeClear(RecyclerView.ViewHolder viewHolder)
onItemSwipeClear in interface IDraggableListenerviewHolder - viewHolderpublic void onItemSwiped(RecyclerView.ViewHolder viewHolder)
onItemSwiped in interface IDraggableListenerviewHolder - viewHolderpublic void onItemSwiping(android.graphics.Canvas canvas,
RecyclerView.ViewHolder viewHolder,
float x,
float y,
boolean isCurrentlyActive)
onItemSwiping in interface IDraggableListenercanvas - canvasviewHolder - viewHolderx - xy - yisCurrentlyActive - isCurrentlyActive