# 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)

*** ** * ** ***


```
public final class PickVisualMediaRequest.Builder
```

<br />

*** ** * ** ***

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

## Summary

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

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

## Public constructors

### Builder

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

```
public Builder()
```

## Public methods

### build

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

```
public final @NonNull PickVisualMediaRequest build()
```

Build the PickVisualMediaRequest specified by this builder.

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/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)

```
public final @NonNull PickVisualMediaRequest.Builder setAccentColor(long accentColor)
```

Set the accent color for the `https://developer.android.com/reference/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 |
|---|---|
| `long accentColor` | color long to apply as accent to the main color in the picker |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/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)

```
public final @NonNull PickVisualMediaRequest.Builder setDefaultTab(
    @NonNull ActivityResultContracts.PickVisualMedia.DefaultTab defaultTab
)
```

Set the default tab for the `https://developer.android.com/reference/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/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab.PhotosTab`, `https://developer.android.com/reference/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 |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab defaultTab` | the tab to launch the picker in (defaults to `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.DefaultTab.PhotosTab`) |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/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)

```
public final @NonNull PickVisualMediaRequest.Builder setMaxItems(@IntRange(from = 2) int maxItems)
```

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

| Parameters |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/IntRange(from = 2) int maxItems` | int type limiting the number of selectable items |

| Returns |
|---|---|
| `@https://developer.android.com/reference/androidx/annotation/NonNull https://developer.android.com/reference/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)
public final @NonNull PickVisualMediaRequest.Builder setMediaCapabilitiesForTranscoding(
    ActivityResultContracts.PickVisualMedia.MediaCapabilities mediaCapabilities
)
```

Set the media capabilities for the `https://developer.android.com/reference/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 |
|---|---|
| `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.MediaCapabilities mediaCapabilities` | the `https://developer.android.com/reference/androidx/activity/result/contract/ActivityResultContracts.PickVisualMedia.MediaCapabilities` to apply to the media selection. |

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

### setMediaType

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

```
public final @NonNull PickVisualMediaRequest.Builder setMediaType(
    @NonNull ActivityResultContracts.PickVisualMedia.VisualMediaType mediaType
)
```

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

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

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

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

### setOrderedSelection

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

```
public final @NonNull PickVisualMediaRequest.Builder setOrderedSelection(boolean isOrderedSelection)
```

Set the ordered selection for the `https://developer.android.com/reference/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 |
|---|---|
| `boolean isOrderedSelection` | boolean to enable customisable selection order in the picker |

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