# PickVisualMediaRequest.Builder

Artifact: [androidx.activity:activity](https://developer.android.com/jetpack/androidx/releases/activity) [View Source](https://cs.android.com/search?q=file:androidx/activity/result/PickVisualMediaRequest.kt+class:androidx.activity.result.PickVisualMediaRequest.Builder) Added in [1.6.0](https://developer.android.com/jetpack/androidx/releases/activity#1.6.0)

*** ** * ** ***


```
class PickVisualMediaRequest.Builder
```

<br />

*** ** * ** ***

A builder for constructing `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest` instances.

## Summary

| ### Public constructors |
|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#Builder()()` |

| ### Public functions |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest` | `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#build()()` Build the PickVisualMediaRequest specified by this builder. |
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#setAccentColor(kotlin.Long)(accentColor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html)` Set the accent color for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`. |
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#setDefaultTab(androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.DefaultTab)( defaultTab: https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab )` Set the default tab for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`. |
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#setMaxItems(kotlin.Int)(maxItems: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 2) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html)` Limit the number of selectable items in the photo picker when using `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickMultipleVisualMedia` |
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | `@https://developer.android.com/reference/kotlin/androidx/annotation/RequiresApi(value = 33) https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#setMediaCapabilitiesForTranscoding(androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.MediaCapabilities)( mediaCapabilities: https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.MediaCapabilities? )` Set the media capabilities for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`. |
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#setMediaType(androidx.activity.result.contract.ActivityResultContracts.PickVisualMedia.VisualMediaType)( mediaType: https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.VisualMediaType )` Set the media type for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`. |
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder#setOrderedSelection(kotlin.Boolean)(isOrderedSelection: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html)` Set the ordered selection for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`. |

## Public constructors

### Builder

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

```
Builder()
```

## Public functions

### build

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

```
fun build(): PickVisualMediaRequest
```

Build the PickVisualMediaRequest specified by this builder.

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest` | the newly constructed PickVisualMediaRequest. |

### setAccentColor

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

```
fun setAccentColor(accentColor: Long): PickVisualMediaRequest.Builder
```

Set the accent color for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`.

The accent color is used to change the main color in the photo picker. This feature was added in API level 35 / R ext 12 and applies the default behavior for older versions.

| Parameters |
|---|---|
| `accentColor: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-long/index.html` | color long to apply as accent to the main color in the picker |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | This builder. |

| See also |
|---|---|
| `https://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_PICK_IMAGES_ACCENT_COLOR` |   |

### setDefaultTab

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

```
fun setDefaultTab(
    defaultTab: ActivityResultContracts.PickVisualMedia.DefaultTab
): PickVisualMediaRequest.Builder
```

Set the default tab for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`.

The default tab is used to open the preferred view inside the photo picker at first such as, e.g. `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab.PhotosTab`, `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab.AlbumsTab`. This feature was added in API level 35 / R ext 12 and applies the default behavior for older versions.

| Parameters |
|---|---|
| `defaultTab: https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab` | the tab to launch the picker in (defaults to `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab.PhotosTab`) |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | This builder. |

| See also |
|---|---|
| `https://developer.android.com/reference/android/provider/MediaStore.html#EXTRA_PICK_IMAGES_LAUNCH_TAB` |   |

### setMaxItems

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

```
fun setMaxItems(maxItems: @IntRange(from = 2) Int): PickVisualMediaRequest.Builder
```

Limit the number of selectable items in the photo picker when using `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickMultipleVisualMedia`

| Parameters |
|---|---|
| `maxItems: @https://developer.android.com/reference/kotlin/androidx/annotation/IntRange(from = 2) https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-int/index.html` | int type limiting the number of selectable items |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | This builder. |

### setMediaCapabilitiesForTranscoding

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

```
@RequiresApi(value = 33)
fun setMediaCapabilitiesForTranscoding(
    mediaCapabilities: ActivityResultContracts.PickVisualMedia.MediaCapabilities?
): PickVisualMediaRequest.Builder
```

Set the media capabilities for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`.

This parameter allows you to specify the media capabilities that your application can handle, such as the HDR type of the media. This parameter might be not supported by the underlying photo picker implementation.

When the requested video format does not match the capabilities specified by the calling app and the video duration is within the range that photo picker can handle, photo picker will transcode the video into a default supported format, otherwise, the calling app will receive the original file.

| Parameters |
|---|---|
| `mediaCapabilities: https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.MediaCapabilities?` | the `https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.MediaCapabilities` to apply to the media selection. |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | This builder. |

### setMediaType

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

```
fun setMediaType(
    mediaType: ActivityResultContracts.PickVisualMedia.VisualMediaType
): PickVisualMediaRequest.Builder
```

Set the media type for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`.

The type is the mime type to filter by, e.g. `PickVisualMedia.ImageOnly`, `PickVisualMedia.ImageAndVideo`, `PickVisualMedia.SingleMimeType("image/gif")`

| Parameters |
|---|---|
| `mediaType: https://developer.android.com/reference/kotlin/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.VisualMediaType` | type to go into the PickVisualMediaRequest |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | This builder. |

### setOrderedSelection

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

```
fun setOrderedSelection(isOrderedSelection: Boolean): PickVisualMediaRequest.Builder
```

Set the ordered selection for the `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest`.

Allow the user to control the order in which images are returned to the calling app. This parameter might be not supported by the underlying photo picker implementation.

| Parameters |
|---|---|
| `isOrderedSelection: https://kotlinlang.org/api/core/kotlin-stdlib/kotlin/-boolean/index.html` | boolean to enable customisable selection order in the picker |

| Returns |
|---|---|
| `https://developer.android.com/reference/kotlin/androidx/activity/result/PickVisualMediaRequest.Builder` | This builder. |