# DropHelper.Options.Builder

Artifact: [androidx.draganddrop:draganddrop](https://developer.android.com/jetpack/androidx/releases/draganddrop) [View Source](https://cs.android.com/search?q=file:androidx/draganddrop/DropHelper.java+class:androidx.draganddrop.DropHelper.Options.Builder) Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/draganddrop#1.0.0)

*** ** * ** ***


```
public final class DropHelper.Options.Builder
```

<br />

*** ** * ** ***

Builder for constructing a `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options` instance.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder#Builder()()` |

| ### Public methods |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder#addInnerEditTexts(android.widget.EditText...)(@https://developer.android.com/reference/androidx/annotation/NonNull EditText[] editTexts)` Enables you to specify the `https://developer.android.com/reference/android/widget/EditText.html` elements contained within the drop target. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options` | `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder#build()()` Builds a new `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options` instance. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder#setAcceptDragsWithLocalState(boolean)(boolean acceptDragsWithLocalState)` Sets whether or not the app should respond to drag events when the drag operation contains `https://developer.android.com/reference/android/view/DragEvent.html#getLocalState()`. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder#setHighlightColor(int)(@https://developer.android.com/reference/androidx/annotation/ColorInt int highlightColor)` Sets the color of the drop target highlight. |
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder#setHighlightCornerRadiusPx(int)(int highlightCornerRadiusPx)` Sets the corner radius of the drop target highlight. |

## Public constructors

### Builder

Added in 1.0.0

```
public Builder()
```

## Public methods

### addInnerEditTexts

```
public @NonNull DropHelper.Options.Builder addInnerEditTexts(@NonNull EditText[] editTexts)
```

Enables you to specify the `https://developer.android.com/reference/android/widget/EditText.html` elements contained within the drop target. To ensure proper drop target highlighting, all `EditText` elements in the drop target view hierarchy must be included in a call to this method. Otherwise, an `EditText` within the target, rather than the target view itself, acquires focus during the drag and drop operation.

If the user is dragging text data and URI data in the drag and drop `https://developer.android.com/reference/android/content/ClipData.html`, one of the `EditText` elements in the drop target is selected to handle the text data. Selection is based on the following order of precedence:

1. The `EditText` (if any) on which the `ClipData` was dropped
2. The `EditText` (if any) that contains the text cursor (caret)
3. The first `EditText` provided in `editTexts`

To set the default `EditText`, make it the first argument of the `editTexts` parameter. For example, if your drop target handles images and contains two editable text fields, T1 and T2, make T2 the default by calling `addInnerEditTexts(T2, T1)`.

**Note:** Behavior is undefined if `EditText`s are added to or removed from the drop target after this method has been called.

See `https://developer.android.com/reference/androidx/draganddrop/DropHelper` for more information.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull EditText[] editTexts` | The `EditText` elements contained in the drop target. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | This `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` instance. |

### build

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/draganddrop#1.0.0)

```
public @NonNull DropHelper.Options build()
```

Builds a new `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options` instance.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options` | A new `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options` instance. |

### setAcceptDragsWithLocalState

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/draganddrop#1.0.0)

```
public @NonNull DropHelper.Options.Builder setAcceptDragsWithLocalState(boolean acceptDragsWithLocalState)
```

Sets whether or not the app should respond to drag events when the drag operation contains `https://developer.android.com/reference/android/view/DragEvent.html#getLocalState()`. By default, the app does not respond to drag events that have local state. Setting local state is only possible when the drag operation originated from the current activity.

**Note:** To elicit the default behavior of ignoring drags from the same activity as the drop target, the local state supplied when starting the drag (via `https://developer.android.com/reference/android/view/View.html#startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, java.lang.Object, int)` or using `https://developer.android.com/reference/androidx/core/view/DragStartHelper`) must be non-null.

| Parameters |
|---|---|
| `boolean acceptDragsWithLocalState` | Whether or not to accept drag events with non-null local state. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | This `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` instance. |

### setHighlightColor

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/draganddrop#1.0.0)

```
public @NonNull DropHelper.Options.Builder setHighlightColor(@ColorInt int highlightColor)
```

Sets the color of the drop target highlight. The highlight is shown during a drag and drop operation when data is dragged over the drop target and a MIME type in the `https://developer.android.com/reference/android/content/ClipDescription.html` matches a MIME type provided to `https://developer.android.com/reference/androidx/draganddrop/DropHelper#configureView(android.app.Activity,android.view.View,java.lang.String[],androidx.core.view.OnReceiveContentListener)`.

**Note:** Opacity, if provided, is ignored.

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/ColorInt int highlightColor` | The highlight color. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | This `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` instance. |

### setHighlightCornerRadiusPx

Added in [1.0.0](https://developer.android.com/jetpack/androidx/releases/draganddrop#1.0.0)

```
public @NonNull DropHelper.Options.Builder setHighlightCornerRadiusPx(int highlightCornerRadiusPx)
```

Sets the corner radius of the drop target highlight. The highlight is shown during a drag and drop operation when data is dragged over the drop target and a MIME type in the `https://developer.android.com/reference/android/content/ClipDescription.html` matches a MIME type provided to `https://developer.android.com/reference/androidx/draganddrop/DropHelper#configureView(android.app.Activity,android.view.View,java.lang.String[],androidx.core.view.OnReceiveContentListener)`.

| Parameters |
|---|---|
| `int highlightCornerRadiusPx` | The highlight corner radius in pixels. |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` | This `https://developer.android.com/reference/androidx/draganddrop/DropHelper.Options.Builder` instance. |