abreudiego94 / barras

A simple and customizable barcode scanning Flutter package for Android and iOS. It uses AVCaptureSession in iOS and ZXing in Android.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Barras - Qrcode Scanner with null-safety support

This document is also available in: English | Português


Barras is a simple and customizable barcode scanning Flutter package for Android and iOS. It uses AVCaptureSession in iOS and ZXing in Android.

Please bear in mind that Barras is experimental, in early development stage.

Getting Started

iOS specific setup

You'll need to configure the camera usage permission message and embed view previews in the Info.plist file:

<key>NSCameraUsageDescription</key>
<string>Camera permission is required for barcode scanning.</string>
<key>io.flutter.embedded_views_preview</key>
<true/>

Import and use in your code

Add Barras dependency to the pubspec.yaml file:

dependencies:
  barras: ^0.0.2

Import it in your code:

import 'package:barras/barras.dart';

Simply call the scan method, and we are good to go:

// Open the barcode reading page. Returned data will be null if
// Cancel button is pressed, or if user navigates back
final data = await Barras.scan(context);

Default barcode capture page

You can also customize the appearance of the barcode capture page:

// Open the barcode reading page. Customize the appearance, changing the
// viewfinder color, size and blinking speed. Returned data will be null
// if Cancel button is pressed, or if user navigates back
final data = await Barras.scan(
  context,
  viewfinderHeight: 120,
  viewfinderWidth: 300,
  scrimColor: Color.fromRGBO(128, 0, 0, 0.5),
  borderColor: Colors.red,
  borderRadius: 24,
  borderStrokeWidth: 2,
  buttonColor: Colors.yellow,
  borderFlashDuration: 250,
  cancelButtonText: "取消",
  successBeep: false,
);

Customized barcode capture page

You can check a working example app in the example folder.

About

A simple and customizable barcode scanning Flutter package for Android and iOS. It uses AVCaptureSession in iOS and ZXing in Android.

License:MIT License


Languages

Language:Dart 44.4%Language:Kotlin 22.4%Language:Objective-C 15.1%Language:Ruby 13.1%Language:Swift 4.9%