UniversalScannerView class

Main camera viewfinder widget supporting mode switching, gallery picks, reticle overlays, and complete screen layout customization.

Inheritance

Constructors

UniversalScannerView({Key? key, ScannerController? controller, ScanMode initialMode = ScanMode.qr, List<ScanMode>? enabledModes, bool enableQr = true, bool enableBarcode = true, bool enablePdf417 = true, bool enablePassport = true, bool enableAadhaar = true, bool enablePan = true, bool enableDrivingLicense = true, bool enableVin = true, bool enableOcr = true, bool enableFace = true, bool enableDocument = true, bool enableInvoice = true, bool enableReceipt = true, bool enableBusinessCard = true, bool enableMultiCode = true, bool enableCheque = true, bool enableIdCard = true, bool enableLicensePlate = true, ScannerUiTheme? theme, Color? primaryAccentColor, Color? backgroundColor, Color? modeSelectorBackgroundColor, Color? overlayMaskColor, Color? laserBeamColor, bool? showModeBadge, bool? showGuideBox, bool? showLaserBeam, bool autoShowResultBottomSheet = true, dynamic onResultDetected(ScanResult result)?, Widget overlayBuilder(BuildContext context, ScannerController controller)?})
Constructs a new UniversalScannerView with default pre-packaged SDK layout.
const
UniversalScannerView.builder({Key? key, required UniversalScannerBuilder? builder, ScannerController? controller, ScanMode initialMode = ScanMode.qr, List<ScanMode>? enabledModes, bool enableQr = true, bool enableBarcode = true, bool enablePdf417 = true, bool enablePassport = true, bool enableAadhaar = true, bool enablePan = true, bool enableDrivingLicense = true, bool enableVin = true, bool enableOcr = true, bool enableFace = true, bool enableDocument = true, bool enableInvoice = true, bool enableReceipt = true, bool enableBusinessCard = true, bool enableMultiCode = true, bool enableCheque = true, bool enableIdCard = true, bool enableLicensePlate = true, ScannerUiTheme? theme, Color? primaryAccentColor, Color? backgroundColor, Color? modeSelectorBackgroundColor, Color? overlayMaskColor, Color? laserBeamColor, bool? showModeBadge, bool? showGuideBox, bool? showLaserBeam, bool autoShowResultBottomSheet = true, dynamic onResultDetected(ScanResult result)?, Widget overlayBuilder(BuildContext context, ScannerController controller)?})
Constructs a UniversalScannerView using a custom builder to create a custom screen design.
const

Properties

activeEnabledModes List<ScanMode>
Resolves active scanning modes enabled for this widget.
no setter
autoShowResultBottomSheet bool
Whether to automatically show ResultBottomSheet upon scanning a valid result.
final
backgroundColor Color?
Scanner viewport container background color.
final
builder UniversalScannerBuilder?
Optional builder for rendering custom screen designs and UI layouts.
final
controller ScannerController?
Optional custom controller for standalone functionality and state management.
final
enableAadhaar bool
Whether Indian Aadhaar Card scanning mode is enabled.
final
enableBarcode bool
Whether 1D Barcode scanning mode is enabled.
final
enableBusinessCard bool
Whether Business Card mode is enabled.
final
enableCheque bool
Whether Bank Cheque MICR mode is enabled.
final
enabledModes List<ScanMode>?
Optional explicit list of enabled scanning modes.
final
enableDocument bool
Whether Document Scanner mode is enabled.
final
enableDrivingLicense bool
Whether Driving License scanning mode is enabled.
final
enableFace bool
Whether Face Detection mode is enabled.
final
enableIdCard bool
Whether generic ID Card scanning mode is enabled.
final
enableInvoice bool
Whether Invoice OCR mode is enabled.
final
enableLicensePlate bool
Whether License Plate scanning mode is enabled.
final
enableMultiCode bool
Whether Multi-Code scanning mode is enabled.
final
enableOcr bool
Whether Text OCR scanning mode is enabled.
final
enablePan bool
Whether Income Tax PAN Card scanning mode is enabled.
final
enablePassport bool
Whether Passport MRZ scanning mode is enabled.
final
enablePdf417 bool
Whether PDF417 barcode scanning mode is enabled.
final
enableQr bool
Whether QR Code scanning mode is enabled.
final
enableReceipt bool
Whether Receipt OCR mode is enabled.
final
enableVin bool
Whether Vehicle VIN scanning mode is enabled.
final
hashCode int
The hash code for this object.
no setterinherited
initialMode ScanMode
Initial mode when the scanner opens.
final
key Key?
Controls how one widget replaces another widget in the tree.
finalinherited
laserBeamColor Color?
Color of animated scanning laser beam.
final
modeSelectorBackgroundColor Color?
Mode selection bottom bar background color.
final
onResultDetected → dynamic Function(ScanResult result)?
Optional callback invoked when a valid ScanResult is detected.
final
overlayBuilder Widget Function(BuildContext context, ScannerController controller)?
Optional builder signature for creating custom overlay widgets.
final
overlayMaskColor Color?
Background dimming color outside camera viewfinder cutout.
final
primaryAccentColor Color?
Primary accent color for viewfinder reticle, selected mode, and highlight lines.
final
resolvedTheme ScannerUiTheme
Resolves effective ScannerUiTheme merging theme and individual color overrides.
no setter
runtimeType Type
A representation of the runtime type of the object.
no setterinherited
showGuideBox bool?
Whether to display top floating guidance text box.
final
showLaserBeam bool?
Whether to display animated scanning laser beam.
final
showModeBadge bool?
Whether to display top active mode badge chip.
final
theme ScannerUiTheme?
Optional theme configuration for customizing UI design and colors.
final

Methods

createElement() StatefulElement
Creates a StatefulElement to manage this widget's location in the tree.
inherited
createState() State<UniversalScannerView>
Creates the mutable state for this widget at a given location in the tree.
override
debugDescribeChildren() List<DiagnosticsNode>
Returns a list of DiagnosticsNode objects describing this node's children.
inherited
debugFillProperties(DiagnosticPropertiesBuilder properties) → void
Add additional properties associated with the node.
inherited
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
toDiagnosticsNode({String? name, DiagnosticsTreeStyle? style}) DiagnosticsNode
Returns a debug representation of the object that is used by debugging tools and by DiagnosticsNode.toStringDeep.
inherited
toString({DiagnosticLevel minLevel = DiagnosticLevel.info}) String
A string representation of this object.
inherited
toStringDeep({String prefixLineOne = '', String? prefixOtherLines, DiagnosticLevel minLevel = DiagnosticLevel.debug, int wrapWidth = 65}) String
Returns a string representation of this node and its descendants.
inherited
toStringShallow({String joiner = ', ', DiagnosticLevel minLevel = DiagnosticLevel.debug}) String
Returns a one-line detailed description of the object.
inherited
toStringShort() String
A short, textual description of this widget.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited