flexible_barcode_scanner 0.0.12
flexible_barcode_scanner: ^0.0.12 copied to clipboard
A highly customizable Flutter package for integrating a barcode scanner into your applications.
Flexible Barcode Scanner #
A highly customizable and efficient barcode scanner library built with Flutter. This package uses the camera
package and Google ML Kit Barcode Scanning
capabilities to provide real-time barcode scanning with additional features like overlay animation and custom configurations.
Features #
- Customizable Camera View: Modify the camera preview with custom overlays and actions.
- Barcode Detection: Supports various barcode formats using Google ML Kit.
- Animated Overlay: Includes a sleek animation for scanning feedback.
- Camera Switch: Easily switch between front and rear cameras.
- Flashlight Toggle: Enable or disable flashlight for better scanning in low light.
- Platform Compatibility: Fully supports both Android and iOS platforms.
- Example ScreenShots:



Installation #
pubspec.yaml
dependencies:
flexible_barcode_scanner: ^0.0.12
Setup #
Ios #
Podfile
platform :ios, '15.5.0' # or newer version
# add this line:
$iOSVersion = '15.5.0' # or newer version
post_install do |installer|
# add these lines:
installer.pods_project.build_configurations.each do |config|
config.build_settings["EXCLUDED_ARCHS[sdk=*]"] = "armv7"
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
end
installer.pods_project.targets.each do |target|
flutter_additional_ios_build_settings(target)
# add these lines:
target.build_configurations.each do |config|
if Gem::Version.new($iOSVersion) > Gem::Version.new(config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'])
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = $iOSVersion
end
end
end
end
Info.plist
<key>NSCameraUsageDescription</key>
<string>Camera permission is required to scan barcodes</string>
Android #
android/App/build.gradle
minSdkVersion: 21
targetSdkVersion: 33
compileSdkVersion: 34
android/app/src/main/AndroidManifest.xml
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
Usage #
import 'package:flexible_barcode_scanner/flexible_barcode_scanner.dart';
String barcode = "";
final resultbarcode = await scanBarcode(
context,
backButtonIcon: const Icon(
Icons.arrow_back,
color: Colors.blue,
),
loadingWidget: CircularProgressIndicator(
color: Colors.green,
),
flashButtonIcon: const Icon(
Icons.sunny,
color: Colors.yellow,
),
openedFlashIcon: const Icon(
Icons.dark_mode,
color: Colors.red,
),
switchCameraButtonIcon: const Icon(
Icons.camera_alt,
color: Colors.orange,
),
strokeColor: Colors.purple,
lineColor: Colors.pink,
backButtonBackgroundColor: Colors.cyanAccent,
flashBackgroundColor: Colors.indigo,
initialCameraDirection: CameraDirection.back,
switchCameraBackgroundColor: Colors.amber,
);
setState(() {
if (resultbarcode != "-1") {
barcode = resultbarcode;
}
});
Supported Platforms #
- Android
- iOS