belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1
ItemTouchHelper
public
class
ItemTouchHelper
extends RecyclerView.ItemDecoration
implements
RecyclerView.OnChildAttachStateChangeListener
java.lang.Object | ||
↳ | android.support.v7.widget.RecyclerView.ItemDecoration | |
↳ | android.support.v7.widget.helper.ItemTouchHelper |
This is a utility class to add swipe to dismiss and drag & drop support to RecyclerView.
It works with a RecyclerView and a Callback class, which configures what type of interactions are enabled and also receives events when user performs these actions.
Depending on which functionality you support, you should override
onMove(RecyclerView, ViewHolder, ViewHolder)
and / or
onSwiped(ViewHolder, int)
.
This class is designed to work with any LayoutManager but for certain situations, it can be
optimized for your custom LayoutManager by extending methods in the
ItemTouchHelper.Callback
class or implementing ItemTouchHelper.ViewDropHandler
interface in your LayoutManager.
By default, ItemTouchHelper moves the items' translateX/Y properties to reposition them. You can
customize these behaviors by overriding onChildDraw(Canvas, RecyclerView, ViewHolder, float, float, int, boolean)
or onChildDrawOver(Canvas, RecyclerView, ViewHolder, float, float, int, boolean)
.
onChildDraw
.
Summary
Nested classes | |
---|---|
class |
ItemTouchHelper.Callback
This class is the contract between ItemTouchHelper and your application. |
class |
ItemTouchHelper.SimpleCallback
A simple wrapper to the default Callback which you can construct with drag and swipe directions and this class will handle the flag callbacks. |
interface |
ItemTouchHelper.ViewDropHandler
An interface which can be implemented by LayoutManager for better integration with
|
Constants | |
---|---|
int |
ACTION_STATE_DRAG
A View is currently being dragged. |
int |
ACTION_STATE_IDLE
ItemTouchHelper is in idle state. |
int |
ACTION_STATE_SWIPE
A View is currently being swiped. |
int |
ANIMATION_TYPE_DRAG
Animation type for views that were dragged and now will animate to their final position. |
int |
ANIMATION_TYPE_SWIPE_CANCEL
Animation type for views which are not completely swiped thus will animate back to their original position. |
int |
ANIMATION_TYPE_SWIPE_SUCCESS
Animation type for views which are swiped successfully. |
int |
DOWN
Down direction, used for swipe & drag control. |
int |
END
Horizontal end direction. |
int |
LEFT
Left direction, used for swipe & drag control. |
int |
RIGHT
Right direction, used for swipe & drag control. |
int |
START
Horizontal start direction. |
int |
UP
Up direction, used for swipe & drag control. |
Public constructors | |
---|---|
ItemTouchHelper(ItemTouchHelper.Callback callback)
Creates an ItemTouchHelper that will work with the given Callback. |
Public methods | |
---|---|
void
|
attachToRecyclerView(RecyclerView recyclerView)
Attaches the ItemTouchHelper to the provided RecyclerVie |