Advanced Configurations
MatrixScan Count is optimized by default for efficiency, accuracy, and a seamless user experience. However, there are multiple advanced settings available to further customize MatrixScan Count to best fit your needs.
Scanning Against A List
There is a function to set a list of expected barcodes if you are scanning against a manifest or item list. If this is used, a progress bar is added to the UI, so you can keep track of the process while scanning.
When scanning against a list, the UI will also show red icons to mark scanned barcodes that aren’t present on the list.
List<TargetBarcode> targetBarcodes = [];
targetBarcodes.add(TargetBarcode.create("data", 1));
var captureList = BarcodeCountCaptureList.create(this, targetBarcodes);
barcodeCount.setBarcodeCountCaptureList(captureList);
Clustering
Clustering is a feature that enables grouping multiple barcodes together, either based upon their visual context or manually by the user.
By default, clustering is disabled. It is configured via setting ClusteringMode
to one of the following available options:
DISABLED
: No clustering is performed.MANUAL
: Manual clustering is supported. The user can select which barcodes to cluster using the on-screen UI.AUTO
: Clustering is automatically performed and cannot be manually tuned.AUTO_WITH_MANUAL_CORRECTION
: Clustering is performed automatically, but clusters can also be formed or dissolved manually using the UI.
Tote Mapping
Tote mapping is a feature that allows you to map barcodes to specific totes. This is useful for In-Store Order Fulfillment scenarios where you need to scan a barcode and have the system automatically assign the item to a specific tote.
MatrixScan Count additionally supports the concept of sub-totes. Sub-totes are useful when you have a large tote that contains multiple smaller totes. When you scan a barcode, the system will automatically assign the item to the correct sub-tote.
This functionality is enabled and configured via the following classes:
BarcodeSpatialGrid
BarcodeSpatialGridEditorView
BarcodeSpatialGridEditorViewSettings
BarcodeSpatialGridEditorViewListener
Strap Mode
It can be difficult to reach the shutter button if the smart device is attached to the user’s wrist by a strap or similar. In this instance, you can enable a floating shutter button that can be positioned by the end user in a more ergonomically suitable position.
barcodeCountView.shouldShowFloatingShutterButton = true;
Filtering
If you have several types of barcodes on your label/package, you may want to scan only one of them.
In this case, you can filter the others out. This can be done by symbology, symbol count, or setting a regex.
For example, you might want to scan only Code 128 barcodes and no PDF417 ones.
var settings = new BarcodeCountSettings();
barcodeCountSettings.enableSymbologies(enabledSymbologies);
Set<Symbology> excludedSymbologies = {};
excludedSymbologies.add(Symbology.pdf417);
var filterSettings = settings.filterSettings;
filterSettings.excludedSymbologies(excludedSymbologies);
Or, you want to exclude all the barcodes starting with 4 numbers:
var settings = new BarcodeCountSettings();
var filterSettings = settings.filterSettings;
filterSettings.excludedCodesRegex("^1234.*");
By default the filters applied to the relevant barcodes are transparent, but you can use BarcodeFilterHighlightSettings
to change the color and level of transparency.
Clear Screen Button
There are situations in which the user may find it helpful to clean up their screen (i.e. clear all the AR overlays) but keep the list of barcodes scanned.
If this is the case, you can enable the “Clear screen” button.
barcodeCountView.shouldShowClearHighlightsButton = true;
Customize Overlay Colors
MatrixScan Count comes with recommended and user-tested AR overlays. However, if you wish to customize the overlay colors, once the overlay has been added, you can conform to the BarcodeCountViewListener interface. The methods BarcodeCountViewListener.brushForRecognizedBarcode() and BarcodeCountViewListener.brushForUnrecognizedBarcode() are invoked every time a new recognized or unrecognized barcode appears. These can be used to set a brush that will be used to highlight that specific barcode in the overlay. Keep in mind that these methods are relevant only when using the style BarcodeCountViewStyle.dot.
Brush? brushForRecognizedBarcode(BarcodeCountView view, TrackedBarcode trackedBarcode) {
// Return a custom brush
}
Brush? brushForUnrecognizedBarcode(BarcodeCountView view, TrackedBarcode trackedBarcode) {
// Return a custom brush
}
Notifications
If you want to be notified when a user taps on an overlay, you need to implement theBarcodeCountViewListener.didTapRecognizedBarcode() and BarcodeCountViewListener.didTapUnrecognizedBarcode() methods.
void didTapRecognizedBarcode(BarcodeCountView view, TrackedBarcode trackedBarcode) {
// Do something with the tapped barcode
}
void didTapUnrecognizedBarcode(BarcodeCountView view, TrackedBarcode trackedBarcode) {
// Do something with the tapped barcode
}
Disable UI Elements
The UI is an integral part of MatrixScan Count and we do not recommend that you use it without it. However, if you wish to disable UI elements you can do it as follows.
Disable buttons:
barcodeCountView.shouldShowListButton = false;
barcodeCountView.shouldShowExitButton = false;
barcodeCountView.shouldShowShutterButton = false;
Disable feedback and hints:
barcodeCountView.shouldShowUserGuidanceView = false;
barcodeCountView.shouldShowHints = false;