The QR Code Scanner package for Appeto SDK.
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 
 
 
 
Dominik Spicher cb40c7835d .gitgnore all the things 6 年前
.github/workflows Add analysis_options.yaml file for CI and fix hints 6 年前
.resources Update README.md and CHANGELOG.md 7 年前
android Merge branch 'master' into fix/flashToggle 7 年前
example Add analysis_options.yaml file for CI and fix hints 6 年前
ios Nil safe scanning for iOS 6 年前
lib Add analysis_options.yaml file for CI and fix hints 6 年前
.gitignore .gitgnore all the things 6 年前
CHANGELOG.md Update README.md and CHANGELOG.md 7 年前
LICENSE Initial commit 7 年前
README.md Update README.md and CHANGELOG.md 7 年前
analysis_options.yaml Add analysis_options.yaml file for CI and fix hints 6 年前
azure-pipelines.yml Update azure-pipelines.yml for Azure Pipelines 7 年前
pubspec.yaml Add analysis_options.yaml file for CI and fix hints 6 年前

README.md

QR Code Scanner

Build Status

A QR code scanner that works on both iOS and Android by natively embedding the platform view within Flutter. The integration with Flutter is seamless, much better than jumping into a native Activity or a ViewController to perform the scan.

Screenshots

Android

iOS

Get Scanned QR Code

When a QR code is recognized, the text identified will be set in ‘qrText’.

class _QRViewExampleState extends State<QRViewExample> {
  final GlobalKey qrKey = GlobalKey(debugLabel: 'QR');
  var qrText = "";
  QRViewController controller;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Column(
        children: <Widget>[
          Expanded(
            flex: 5,
            child: QRView(
              key: qrKey,
              onQRViewCreated: _onQRViewCreated,
            ),
          ),
          Expanded(
            flex: 1,
            child: Center(
              child: Text('Scan result: $qrText'),
            ),
          )
        ],
      ),
    );
  }

  void _onQRViewCreated(QRViewController controller) {
    this.controller = controller;
    controller.scannedDataStream.listen((scanData) {
      setState(() {
        qrText = scanData;
      });
    });
  }

  @override
  void dispose() {
    controller?.dispose();
    super.dispose();
  }
}

iOS Integration

In order to use this plugin, add the following to your Info.plist file:

<key>io.flutter.embedded_views_preview</key>
<true/>

Flip Camera (Back/Front)

The default camera is the back camera.

controller.flipCamera();

Flash (Off/On)

By default, flash is OFF.

controller.toggleFlash();

Resume/Pause

Pause camera stream and scanner.

controller.pause();

Resume camera stream and scanner.

controller.resume();

TODO’S:

  • iOS Native embedding is written to match what is supported in the framework as of the date of publication of this package. It needs to be improved as the framework support improves.
  • In future, options will be provided for default states.
  • Finally, I welcome PR’s to make it better :), thanks

Credits