Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels) Summary: [Ctors](https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#pubctors) \| [Methods](https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#pubmethods) \| [Inherited Methods](https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#inhmethods)

# SelectRangeGesture.Builder

*** ** * ** ***

` public static final class SelectRangeGesture.Builder `   
` extends https://developer.android.com/reference/java/lang/Object ` ` `

|---|---|
| [java.lang.Object](https://developer.android.com/reference/java/lang/Object) ||
| ↳ | android.view.inputmethod.SelectRangeGesture.Builder |

<br />

*** ** * ** ***

Builder for `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture`. This class is not designed to be thread-safe.

## Summary

| ### Public constructors ||
|---|---|
| ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#Builder()() ` |

| ### Public methods ||
|---|---|
| ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture` | ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#build()() ` |
| ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setFallbackText(java.lang.String)(https://developer.android.com/reference/java/lang/String fallbackText) ` Set fallback text that will be committed at current cursor position if there is no applicable text beneath the area of gesture. |
| ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setGranularity(int)(int granularity) ` Define text selection granularity. |
| ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionEndArea(android.graphics.RectF)(https://developer.android.com/reference/android/graphics/RectF endArea) ` Set rectangular single/multiline end of text selection area intersecting with text. |
| ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | ` https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionStartArea(android.graphics.RectF)(https://developer.android.com/reference/android/graphics/RectF startArea) ` Set rectangular single/multiline start of text selection area intersecting with text. |

### Inherited methods

From class ` https://developer.android.com/reference/java/lang/Object ` ` https://developer.android.com/reference/java/lang/Object` ` https://developer.android.com/reference/java/lang/Object#clone()() `

Creates and returns a copy of this object.
` boolean` ` https://developer.android.com/reference/java/lang/Object#equals(java.lang.Object)(https://developer.android.com/reference/java/lang/Object obj) `

Indicates whether some other object is "equal to" this one.
` void` ` https://developer.android.com/reference/java/lang/Object#finalize()() `

Called by the garbage collector on an object when garbage collection determines that there are no more references to the object.
` final https://developer.android.com/reference/java/lang/Class<?>` ` https://developer.android.com/reference/java/lang/Object#getClass()() `

Returns the runtime class of this `Object`.
` int` ` https://developer.android.com/reference/java/lang/Object#hashCode()() `

Returns a hash code value for the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#notify()() `

Wakes up a single thread that is waiting on this object's monitor.
` final void` ` https://developer.android.com/reference/java/lang/Object#notifyAll()() `

Wakes up all threads that are waiting on this object's monitor.
` https://developer.android.com/reference/java/lang/String` ` https://developer.android.com/reference/java/lang/Object#toString()() `

Returns a string representation of the object.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long,%20int)(long timeoutMillis, int nanos) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait(long)(long timeoutMillis) `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*, or until a certain amount of real time has elapsed.
` final void` ` https://developer.android.com/reference/java/lang/Object#wait()() `

Causes the current thread to wait until it is awakened, typically by being *notified* or *interrupted*.

## Public constructors

### Builder

```
public Builder ()
```

<br />

<br />

## Public methods

### build

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SelectRangeGesture build ()
```

<br />

<br />

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture` | `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture` using parameters in this `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder`. This value cannot be `null`. <br /> |

| Throws ||
|---|---|
| `https://developer.android.com/reference/java/lang/IllegalArgumentException` | if one or more positional parameters are not specified. |

### setFallbackText

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SelectRangeGesture.Builder setFallbackText (String fallbackText)
```

Set fallback text that will be committed at current cursor position if there is no applicable text beneath the area of gesture.

<br />

| Parameters ||
|---|---|
| `fallbackText` | `String`: text to set. This value may be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | This value cannot be `null`. <br /> |

### setGranularity

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SelectRangeGesture.Builder setGranularity (int granularity)
```

Define text selection granularity. Intersecting words/characters will be included in the operation.

<br />

| Parameters ||
|---|---|
| `granularity` | `int`: `https://developer.android.com/reference/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD` or `https://developer.android.com/reference/android/view/inputmethod/HandwritingGesture#GRANULARITY_CHARACTER`. Value is one of the following: - `https://developer.android.com/reference/android/view/inputmethod/HandwritingGesture#GRANULARITY_CHARACTER` - `https://developer.android.com/reference/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD` |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder`. This value cannot be `null`. <br /> |

### setSelectionEndArea

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SelectRangeGesture.Builder setSelectionEndArea (RectF endArea)
```

Set rectangular single/multiline end of text selection area intersecting with text. The resulting selection is performed from the start of first word/character in the start rectangle `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionStartArea(android.graphics.RectF)` to the end of the last word/character in the end rectangle.   
![Selection strategy using two rectangles](https://developer.android.com/static/reference/android/images/input_method/stylus_handwriting
/select_range_gesture_rects.png)   

The selection includes the first word/character in the rectangle, the last word/character in the rectangle, and everything in between even if it's not in the rectangle. Intersection is determined using `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setGranularity(int)`. e.g. `https://developer.android.com/reference/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD` includes all the words with their width/height center included in the selection rectangle.

<br />

| Parameters ||
|---|---|
| `endArea` | `RectF`: `https://developer.android.com/reference/android/graphics/RectF` (in screen coordinates) for start of selection. This rectangle belongs to the last line where selection should end. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | This value cannot be `null`. <br /> |

### setSelectionStartArea

Added in [API level 34](https://developer.android.com/guide/topics/manifest/uses-sdk-element#ApiLevels)

```
public SelectRangeGesture.Builder setSelectionStartArea (RectF startArea)
```

Set rectangular single/multiline start of text selection area intersecting with text. The resulting selection is performed from the start of first word/character in the start rectangle to the end of the last word/character in the end rectangle `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionEndArea(android.graphics.RectF)`.   
![Selection strategy using two rectangles](https://developer.android.com/static/reference/android/images/input_method/stylus_handwriting
/select_range_gesture_rects.png)   

Intersection is determined using `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder#setGranularity(int)`. e.g. `https://developer.android.com/reference/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD` includes all the words with their width/height center included in the selection rectangle.

<br />

| Parameters ||
|---|---|
| `startArea` | `RectF`: `https://developer.android.com/reference/android/graphics/RectF` (in screen coordinates) for start of selection. This rectangle belongs to first line where selection should start. This value cannot be `null`. <br /> |

| Returns ||
|---|---|
| `https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder` | This value cannot be `null`. <br /> |