# ItemTouchHelper.ViewDropHandler

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  
belongs to Maven artifact com.android.support:recyclerview-v7:28.0.0-alpha1  
Summary:[Methods](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.ViewDropHandler#pubmethods)\|[\[Expand All\]](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.ViewDropHandler#)  

# ItemTouchHelper.ViewDropHandler

| This package is part of the Android[support library](https://developer.android.com/topic/libraries/support-library)which is no longer maintained. The support library has been superseded by[AndroidX](https://developer.android.com/jetpack/androidx)which is part of[Jetpack](https://developer.android.com/jetpack). We recommend using the AndroidX libraries in all new projects. You should also consider[migrating](https://developer.android.com/jetpack/androidx/migrate)existing projects to AndroidX. To find the AndroidX class that maps to this deprecated class, see the AndroidX support library[class mappings](https://developer.android.com/jetpack/androidx/migrate/class-mappings).

`
public
static


interface
ItemTouchHelper.ViewDropHandler
`  
`


`

|------------------------------------------------------------------|
| android.support.v7.widget.helper.ItemTouchHelper.ViewDropHandler |

|---|---|
| [![](https://developer.android.com/static/assets/images/styles/disclosure_down.png)](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.ViewDropHandler#)Known Indirect Subclasses [GridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager),[LinearLayoutManager](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager),[WearableLinearLayoutManager](https://developer.android.com/reference/android/support/wear/widget/WearableLinearLayoutManager) |--------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | [GridLayoutManager](https://developer.android.com/reference/android/support/v7/widget/GridLayoutManager)                       | A[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)implementations that lays out items in a grid.                                                                                          | | [LinearLayoutManager](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager)                   | A[RecyclerView.LayoutManager](https://developer.android.com/reference/android/support/v7/widget/RecyclerView.LayoutManager)implementation which provides similar functionality to[ListView](https://developer.android.com/reference/android/widget/ListView.html). | | [WearableLinearLayoutManager](https://developer.android.com/reference/android/support/wear/widget/WearableLinearLayoutManager) | This wear-specific implementation of[LinearLayoutManager](https://developer.android.com/reference/android/support/v7/widget/LinearLayoutManager)provides basic offsetting logic for updating child layout.                                                         | ||

<br />

*** ** * ** ***

An interface which can be implemented by LayoutManager for better integration with[ItemTouchHelper](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper).

## Summary

|                                                                                                                                                                                                                                                                         ### Public methods                                                                                                                                                                                                                                                                         ||
|------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ` abstract void` | ` `[prepareForDrop](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.ViewDropHandler#prepareForDrop(android.view.View, android.view.View, int, int))`(`[View](https://developer.android.com/reference/android/view/View.html)` view, `[View](https://developer.android.com/reference/android/view/View.html)` target, int x, int y) ` Called by the[ItemTouchHelper](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper)after a View is dropped over another View. |

## Public methods

### prepareForDrop

added in[version 24.1.0](https://developer.android.com/topic/libraries/support-library/revisions)  

```
void prepareForDrop (View view, 
                View target, 
                int x, 
                int y)
```

Called by the[ItemTouchHelper](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper)after a View is dropped over another View.

A LayoutManager should implement this interface to get ready for the upcoming move operation.

For example, LinearLayoutManager sets up a "scrollToPositionWithOffset" calls so that the View under drag will be used as an anchor View while calculating the next layout, making layout stay consistent.

<br />

|                                                                                     Parameters                                                                                      ||
|----------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `view`   | `View`: The View which is being dragged. It is very likely that user is still dragging this View so there might be other calls to`prepareForDrop()`after this one. <br /> |
| `target` | `View`: The target view which is being dropped on. <br />                                                                                                                 |
| `x`      | `int`: The`left`offset of the View that is being dragged. This value includes the movement caused by the user. <br />                                                     |
| `y`      | `int`: The`top`offset of the View that is being dragged. This value includes the movement caused by the user. <br />                                                      |

-

  ## Interfaces

  - [ItemTouchHelper.ViewDropHandler](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.ViewDropHandler)
  - [ItemTouchUIUtil](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchUIUtil)
-

  ## Classes

  - [ItemTouchHelper](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper)
  - [ItemTouchHelper.Callback](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.Callback)
  - [ItemTouchHelper.SimpleCallback](https://developer.android.com/reference/android/support/v7/widget/helper/ItemTouchHelper.SimpleCallback)