ViewPort.Builder

public static final class ViewPort.Builder
extends Object

java.lang.Object
   ↳ androidx.camera.core.ViewPort.Builder


Builder for ViewPort.

Summary

Public constructors

Builder(Rational aspectRatio, int rotation)

Creates ViewPort.Builder with aspect ratio and rotation.

Public methods

ViewPort build()

Builds the ViewPort.

ViewPort.Builder setLayoutDirection(int layoutDirection)

Sets the layout direction of the ViewPort.

ViewPort.Builder setScaleType(int scaleType)

Sets the scale type of the ViewPort.

Inherited methods

Public constructors

Builder

public Builder (Rational aspectRatio, 
                int rotation)

Creates ViewPort.Builder with aspect ratio and rotation.

To create a ViewPort that is based on the Preview use case, the aspect ratio should be the dimension of the View and the rotation should be the value of Preview.getTargetRotation():

val aspectRatio = Rational(viewFinder.width, viewFinder.height)
 val viewport = ViewPort.Builder(aspectRatio, preview.getTargetRotation()).build()
 

In a scenario where Preview is not used, for example, face detection in ImageAnalysis and taking pictures with ImageCapture when faces are found, the ViewPort should be created with the aspect ratio and rotation of the ImageCapture use case.

Parameters
aspectRatio Rational: aspect ratio of the output crop rect if the scale type is FILL_START, FILL_CENTER or FILL_END. This is usually the width/height of the preview viewfinder that displays the camera feed. The value is ignored if the scale type is FIT.

rotation int: The rotation value is one of four valid values: Surface.ROTATION_0, Surface.ROTATION_90, Surface.ROTATION_180, Surface.ROTATION_270.

Public methods

build

public ViewPort build ()

Builds the ViewPort.

Returns
ViewPort

setLayoutDirection

public ViewPort.Builder setLayoutDirection (int layoutDirection)

Sets the layout direction of the ViewPort.

The layout direction decides the start and the end of the crop rect if the scale type is ViewPort.FILL_END or ViewPort.FILL_START.

The default value is LayoutDirection.LTR if not set.

Parameters
layoutDirection int

Returns
ViewPort.Builder

setScaleType

public ViewPort.Builder setScaleType (int scaleType)

Sets the scale type of the ViewPort.

The value is used by UseCase to calculate the crop rect.

The default value is ViewPort.FILL_CENTER if not set.

Parameters
scaleType int

Returns
ViewPort.Builder