Builder

class Builder : Builder<Preview!, PreviewConfig!, PreviewConfig.Builder!>, Builder<PreviewConfig.Builder!>, Builder<PreviewConfig.Builder!>, Builder<PreviewConfig.Builder!>
kotlin.Any
   ↳ androidx.camera.core.PreviewConfig.Builder

Builder for a PreviewConfig.

Summary

Public constructors

Creates a new Builder object.

Public methods

PreviewConfig

Builds an immutable PreviewConfig from the current state.

static PreviewConfig.Builder
fromConfig(@NonNull configuration: PreviewConfig)

Generates a Builder from another Config object

PreviewConfig.Builder
setBackgroundExecutor(@NonNull executor: Executor)

Sets the default executor that will be used for background tasks.

PreviewConfig.Builder
setLensFacing(@NonNull lensFacing: CameraX.LensFacing)

Sets the primary camera to be configured based on the direction the lens is facing.

PreviewConfig.Builder
setTargetAspectRatio(@NonNull aspectRatio: AspectRatio)

Sets the aspect ratio of the intended target for images from this configuration.

PreviewConfig.Builder
setTargetName(@NonNull targetName: String)

Sets the name of the target object being configured.

PreviewConfig.Builder
setTargetResolution(@NonNull resolution: Size)

Sets the resolution of the intended target from this configuration.

PreviewConfig.Builder

Sets the rotation of the intended target for images from this configuration.

Public constructors

<init>

Builder()

Creates a new Builder object.

Public methods

build

@NonNull fun build(): PreviewConfig

Builds an immutable PreviewConfig from the current state.

Return
PreviewConfig: A PreviewConfig populated with the current state.

fromConfig

@NonNull static fun fromConfig(@NonNull configuration: PreviewConfig): PreviewConfig.Builder

Generates a Builder from another Config object

Parameters
configuration PreviewConfig: An immutable configuration to pre-populate this builder.
Return
PreviewConfig.Builder: The new Builder.

setBackgroundExecutor

@NonNull fun setBackgroundExecutor(@NonNull executor: Executor): PreviewConfig.Builder

Sets the default executor that will be used for background tasks.

Parameters
executor Executor: The executor which will be used for background tasks.
Return
PreviewConfig.Builder: the current Builder.

setLensFacing

@NonNull fun setLensFacing(@NonNull lensFacing: CameraX.LensFacing): PreviewConfig.Builder

Sets the primary camera to be configured based on the direction the lens is facing.

If multiple cameras exist with equivalent lens facing direction, the first ("primary") camera for that direction will be chosen.

Parameters
lensFacing CameraX.LensFacing: The direction of the camera's lens.
Return
PreviewConfig.Builder: the current Builder.

setTargetAspectRatio

@NonNull fun setTargetAspectRatio(@NonNull aspectRatio: AspectRatio): PreviewConfig.Builder

Sets the aspect ratio of the intended target for images from this configuration.

It is not allowed to set both target aspect ratio and target resolution on the same use case.

The target aspect ratio is used as a hint when determining the resulting output aspect ratio which may differ from the request, possibly due to device constraints. Application code should check the resulting output's resolution.

For Preview, the output is the SurfaceTexture of the androidx.camera.core.Preview.PreviewOutput.

Parameters
aspectRatio AspectRatio: A AspectRatio representing the ratio of the target's width and height.
Return
PreviewConfig.Builder: The current Builder.

setTargetName

@NonNull fun setTargetName(@NonNull targetName: String): PreviewConfig.Builder

Sets the name of the target object being configured.

The name should be a value that can uniquely identify an instance of the object being configured.

Parameters
targetName String: A unique string identifier for the instance of the class being configured.
Return
PreviewConfig.Builder: the current Builder.

setTargetResolution

@NonNull fun setTargetResolution(@NonNull resolution: Size): PreviewConfig.Builder

Sets the resolution of the intended target from this configuration.

The target resolution attempts to establish a minimum bound for the preview resolution. The actual preview resolution will be the closest available resolution in size that is not smaller than the target resolution, as determined by the Camera implementation. However, if no resolution exists that is equal to or larger than the target resolution, the nearest available resolution smaller than the target resolution will be chosen.

It is not allowed to set both target aspect ratio and target resolution on the same use case.

The target aspect ratio will also be set the same as the aspect ratio of the provided Size. Make sure to set the target resolution with the correct orientation.

Parameters
resolution Size: The target resolution to choose from supported output sizes list.
Return
PreviewConfig.Builder: The current Builder.

setTargetRotation

@NonNull fun setTargetRotation(rotation: Int): PreviewConfig.Builder

Sets the rotation of the intended target for images from this configuration.

This is one of four valid values: Surface#ROTATION_0, , Surface#ROTATION_180, Surface#ROTATION_270. Rotation values are relative to the "natural" rotation, Surface#ROTATION_0.

Parameters
rotation Int: The rotation of the intended target.
Return
PreviewConfig.Builder: The current Builder.