Label Capture Validation Flow Overlay

Defined under the namespace Scandit.Datacapture.Label.Ui

LabelCaptureValidationFlowOverlay
class LabelCaptureValidationFlowOverlay : DataCaptureOverlay

Added in version 8.2.0

Specialized overlay that provides a guided scanning experience with validation flow capabilities. This overlay enables multi-step scanning for complete label capture, allowing users to scan label fields progressively across multiple scans and providing a user-friendly data review and correction interface.

Key features of the validation flow:

  • Multi-step scanning - Capture several label fields across multiple scans

  • Field-by-field validation - Validate individual fields as they are captured

  • User review interface - Allow users to review and correct captured data

  • Configurable hint messages - Guide users through different scanning stages

  • Manual input support - Enable manual entry for fields that cannot be scanned

The validation flow ensures complete and accurate results by aggregating captured fields into a complete label which is reported through the LabelCaptureValidationFlowListener.

Note

This overlay focuses on validation flow and does not provide barcode or field highlighting. For visual feedback during scanning, use LabelCaptureBasicOverlay alongside this overlay.

Warning

The validation flow overlay only works with a single label definition. This label definition can contain multiple barcodes, text fields, expiry dates, and other field types.

constructor(mode)
constructor(mode: LabelCapture)

Added in version 8.2.0

Construct a new LabelCaptureValidationFlowOverlay. For the overlay to be displayed on screen, it must be added to a DataCaptureView.

applySettings(settings)
applySettings(settings: LabelCaptureValidationFlowSettings): Promise<void>

Added in version 8.2.0

Applies the new settings to the validation flow overlay.

listener
listener: LabelCaptureValidationFlowListener | null

Added in version 8.2.0

Sets the listener to this overlay instance to observe the label capture mode and get notified when a label has been validated and accepted by the end user.

shouldHandleKeyboardInsetsInternally
shouldHandleKeyboardInsetsInternally: boolean

Added in version 8.2.2

In the past, the window insets for ime were automatically handled by the system, but from android 15 and the edge-to-edge enforcement they need to be handled.

Applications should apply insets in a parent of the DataCaptureView this overlay is attached to, either through android:fitsSystemWindows=”true” in xml, some kind of WindowInsetsListener + padding or a Modifier.imePadding() in compose.

The following guide by the Android team explains how to implement edge-to-edge and handle insets in modern android versions.

If an application needs to handle insets differently from that and runs into a visual issue where the input fields are behind the keyboard, setting this flag to true will instruct the overlay to manually handle insets internally.

Defaults to false on Android. Defaults to true on Flutter, React Native, Capacitor, and Cordova, since their view containers do not handle keyboard insets by default.