|
|
6 년 전 | |
|---|---|---|
| .github/workflows | 6 년 전 | |
| .resources | 6 년 전 | |
| android | 6 년 전 | |
| example | 6 년 전 | |
| ios | 6 년 전 | |
| lib | 6 년 전 | |
| .gitignore | 6 년 전 | |
| CHANGELOG.md | 6 년 전 | |
| LICENSE | 7 년 전 | |
| README.md | 6 년 전 | |
| analysis_options.yaml | 6 년 전 | |
| pubspec.yaml | 6 년 전 | |
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.
| Android | |
|---|---|
|
|
|
| iOS | |
|
|
|
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();
}
}
In order to use this plugin, add the following to your Info.plist file:
<key>io.flutter.embedded_views_preview</key>
<true/>
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to scan QR codes</string>
The default camera is the back camera.
controller.flipCamera();
By default, flash is OFF.
controller.toggleFlash();
Pause camera stream and scanner.
controller.pause();
Resume camera stream and scanner.
controller.resume();
Requires at least SDK 24 (Android 7.0).