https://github.com/facundomedica/fast_qr_reader_view
A Fast QR Reader widget for Flutter. For both Android and iOS
https://github.com/facundomedica/fast_qr_reader_view
Last synced: 8 months ago
JSON representation
A Fast QR Reader widget for Flutter. For both Android and iOS
- Host: GitHub
- URL: https://github.com/facundomedica/fast_qr_reader_view
- Owner: facundomedica
- License: mit
- Created: 2018-07-19T18:07:47.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2021-07-18T00:08:25.000Z (over 4 years ago)
- Last Synced: 2025-03-29T07:08:31.089Z (8 months ago)
- Language: Java
- Size: 4.08 MB
- Stars: 293
- Watchers: 9
- Forks: 161
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
- awesome-flutter-cn - Fast QR Reader View - 快速的QR扫码插件,由 [Facundo Medica](https://github.com/facundomedica)提供。 (插件 / 扫码器)
- awesome-flutter-cn - Fast QR Reader View - 混合扫码器,[Facundo Medica](https://github.com/facundomedica). (插件 / 设备)
- awesome-flutter - Fast QR Reader View - A Fast QR Reader widget for Flutter. For both Android and iOS ` 📝 2 years ago` (Device [🔝](#readme))
- fucking-awesome-flutter - Fast QR Reader View - Live multicode reader by [Facundo Medica](https://github.com/facundomedica). (Plugins / Device)
- awesome-flutter - Fast QR Reader View - Live multicode reader by [Facundo Medica](https://github.com/facundomedica). (Plugins / Device)
README
# Fast QR Reader View Plugin
**[See in pub](https://pub.dartlang.org/packages/fast_qr_reader_view)**
A Flutter plugin for iOS and Android allowing access to the device cameras to scan multiple type of codes (QR, PDF417, CODE39, etc). **Heavily based on [camera](https://pub.dartlang.org/packages/camera)**
*Red box is a Flutter animation (removable).* *Low FPS due to GIF*
## Features:
* Display live camera preview in a widget.
* Uses native AVFoundation code detection in iOS
* Uses ML Kit in Android
## Installation
First, add `fast_qr_reader_view` as a [dependency in your pubspec.yaml file](https://flutter.io/using-packages/).
### iOS
Add a row to the `ios/Runner/Info.plist` with the key `Privacy - Camera Usage Description` and a usage description.
Or in text format add the key:
```xml
NSCameraUsageDescription
Can I use the camera please?
```
### Android
Change the minimum Android sdk version to 21 (or higher) in your `android/app/build.gradle` file.
```
minSdkVersion 21
```
### Example
Here is a small example flutter app displaying a full screen camera preview.
```dart
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:fast_qr_reader_view/fast_qr_reader_view.dart';
List cameras;
Future main() async {
cameras = await availableCameras();
runApp(new CameraApp());
}
class CameraApp extends StatefulWidget {
@override
_CameraAppState createState() => new _CameraAppState();
}
class _CameraAppState extends State {
QRReaderController controller;
@override
void initState() {
super.initState();
controller = new QRReaderController(cameras[0], ResolutionPreset.medium, [CodeFormat.qr], (dynamic value){
print(value); // the result!
// ... do something
// wait 3 seconds then start scanning again.
new Future.delayed(const Duration(seconds: 3), controller.startScanning);
});
controller.initialize().then((_) {
if (!mounted) {
return;
}
setState(() {});
controller.startScanning();
});
}
@override
void dispose() {
controller?.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
if (!controller.value.isInitialized) {
return new Container();
}
return new AspectRatio(
aspectRatio:
controller.value.aspectRatio,
child: new QRReaderPreview(controller));
}
}
```
For a more elaborate usage example see [here](https://github.com/facundomedica/fast_qr_reader_view/tree/master/example).
*Note*: This plugin is still under development, and some APIs might not be available yet.
[Feedback welcome](https://github.com/facundomedica/fast_qr_reader_view/issues) and
[Pull Requests](https://github.com/facundomedica/fast_qr_reader_view/pulls) are most welcome!