# SelectRangeGesture.Builder

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

# Builder

*** ** * ** ***

Kotlin\|[Java](https://developer.android.com/reference/android/view/inputmethod/SelectRangeGesture.Builder "View this page in Java")  

```
class Builder
```

|---|------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [kotlin.Any](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-any/index.html)                                                                             ||
| ↳ | [android.view.inputmethod.SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) |

Builder for[SelectRangeGesture](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture). This class is not designed to be thread-safe.

## Summary

|                                                          Public constructors                                                          ||
|------------------------------------------------------------------------------------------------------------------------------------|---|
| [Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#Builder())`()` <br /> |

|                                                                                                                                                                                                                                                         Public methods                                                                                                                                                                                                                                                         ||
|-----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SelectRangeGesture](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture)                  | [build](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#build())`()` <br />                                                                                                                                                                                                                                                              |
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | [setFallbackText](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setFallbackText(kotlin.String))`(`fallbackText:` `[String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?`)` Set fallback text that will be committed at current cursor position if there is no applicable text beneath the area of gesture. |
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | [setGranularity](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setGranularity(kotlin.Int))`(`granularity:` `[Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html)`)` Define text selection granularity.                                                                                                           |
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | [setSelectionEndArea](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionEndArea(android.graphics.RectF))`(`endArea:` `[RectF](https://developer.android.com/reference/kotlin/android/graphics/RectF.html#)`)` Set rectangular single/multiline end of text selection area intersecting with text.                              |
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | [setSelectionStartArea](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionStartArea(android.graphics.RectF))`(`startArea:` `[RectF](https://developer.android.com/reference/kotlin/android/graphics/RectF.html#)`)` Set rectangular single/multiline start of text selection area intersecting with text.                      |

## Public constructors

### Builder

```
Builder()
```

## Public methods

### build

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

```
fun build(): SelectRangeGesture
```

|                                                                                                                                                                                                          Return                                                                                                                                                                                                          ||
|------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| [SelectRangeGesture](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture) | [SelectRangeGesture](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture)using parameters in this[SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#). This value cannot be`null`. |

|                                          Exceptions                                           ||
|--------------------------------------|---------------------------------------------------------|
| `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.html#ApiLevels)  

```
fun setFallbackText(fallbackText: String?): SelectRangeGesture.Builder
```

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

|                                                               Parameters                                                               ||
|----------------|------------------------------------------------------------------------------------------------------------------------|
| `fallbackText` | [String](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-string/index.html)?:text to set This value may be`null`. |

|                                                                             Return                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | This value cannot be`null`. |

### setGranularity

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

```
fun setGranularity(granularity: Int): SelectRangeGesture.Builder
```

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

|                                                                                                                                                                                                                                                                                                                                                                                                              Parameters                                                                                                                                                                                                                                                                                                                                                                                                              ||
|---------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `granularity` | [Int](https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/-int/index.html):[HandwritingGesture.GRANULARITY_WORD](https://developer.android.com/reference/kotlin/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD:kotlin.Int)or[HandwritingGesture.GRANULARITY_CHARACTER](https://developer.android.com/reference/kotlin/android/view/inputmethod/HandwritingGesture#GRANULARITY_CHARACTER:kotlin.Int). Value is[android.view.inputmethod.HandwritingGesture#GRANULARITY_CHARACTER](https://developer.android.com/reference/kotlin/android/view/inputmethod/HandwritingGesture#GRANULARITY_CHARACTER:kotlin.Int), or[android.view.inputmethod.HandwritingGesture#GRANULARITY_WORD](https://developer.android.com/reference/kotlin/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD:kotlin.Int) |

|                                                                                                                                     Return                                                                                                                                     ||
|-----------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------|
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | [Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#). This value cannot be`null`. |

### setSelectionEndArea

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

```
fun setSelectionEndArea(endArea: RectF): SelectRangeGesture.Builder
```

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[setSelectionStartArea(android.graphics.RectF)](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionStartArea(android.graphics.RectF))to the end of the last word/character in the end rectangle.  

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[setGranularity(int)](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setGranularity(kotlin.Int)). e.g.[HandwritingGesture.GRANULARITY_WORD](https://developer.android.com/reference/kotlin/android/view/inputmethod/HandwritingGesture#GRANULARITY_WORD:kotlin.Int)includes all the words with their width/height center included in the selection rectangle.

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

|                                                                             Return                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | This value cannot be`null`. |

### setSelectionStartArea

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

```
fun setSelectionStartArea(startArea: RectF): SelectRangeGesture.Builder
```

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[setSelectionEndArea(android.graphics.RectF)](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#setSelectionEndArea(android.graphics.RectF)).  

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

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

|                                                                             Return                                                                             ||
|-----------------------------------------------------------------------------------------------------------------------------------|-----------------------------|
| [SelectRangeGesture.Builder](https://developer.android.com/reference/kotlin/android/view/inputmethod/SelectRangeGesture.Builder#) | This value cannot be`null`. |