DropHelper.Options.Builder

class DropHelper.Options.Builder


Builder for constructing a DropHelper.Options instance.

Summary

Public constructors

Public functions

DropHelper.Options.Builder

Enables you to specify the EditText elements contained within the drop target.

DropHelper.Options

Builds a new DropHelper.Options instance.

DropHelper.Options.Builder
setAcceptDragsWithLocalState(acceptDragsWithLocalState: Boolean)

Sets whether or not the app should respond to drag events when the drag operation contains local state.

DropHelper.Options.Builder
setHighlightColor(highlightColor: @ColorInt Int)

Sets the color of the drop target highlight.

DropHelper.Options.Builder
setHighlightCornerRadiusPx(highlightCornerRadiusPx: Int)

Sets the corner radius of the drop target highlight.

Public constructors

Builder

Added in 1.0.0
Builder()

Public functions

addInnerEditTexts

fun addInnerEditTexts(editTexts: Array<EditText!>): DropHelper.Options.Builder

Enables you to specify the EditText 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 ClipData, 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 EditTexts are added to or removed from the drop target after this method has been called.

See DropHelper for more information.

Parameters
editTexts: Array<EditText!>

The EditText elements contained in the drop target.

build

Added in 1.0.0
fun build(): DropHelper.Options

Builds a new DropHelper.Options instance.

Returns
DropHelper.Options

A new DropHelper.Options instance.

setAcceptDragsWithLocalState

Added in 1.0.0
fun setAcceptDragsWithLocalState(acceptDragsWithLocalState: Boolean): DropHelper.Options.Builder

Sets whether or not the app should respond to drag events when the drag operation contains local state. 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 startDragAndDrop or using androidx.core.view.DragStartHelper) must be non-null.

Parameters
acceptDragsWithLocalState: Boolean

Whether or not to accept drag events with non-null local state.

setHighlightColor

Added in 1.0.0
fun setHighlightColor(highlightColor: @ColorInt Int): DropHelper.Options.Builder

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 ClipDescription matches a MIME type provided to DropHelper#configureView.

Note: Opacity, if provided, is ignored.

Parameters
highlightColor: @ColorInt Int

The highlight color.

setHighlightCornerRadiusPx

Added in 1.0.0
fun setHighlightCornerRadiusPx(highlightCornerRadiusPx: Int): DropHelper.Options.Builder

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 ClipDescription matches a MIME type provided to DropHelper#configureView.

Parameters
highlightCornerRadiusPx: Int

The highlight corner radius in pixels.