| @@ -53,9 +53,17 @@ When a QR code is recognized, the text identified will be set in 'qrText'. | |||||
| ```dart | ```dart | ||||
| class _QRViewExampleState extends State<QRViewExample> { | class _QRViewExampleState extends State<QRViewExample> { | ||||
| final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); | final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); | ||||
| var qrText = ""; | |||||
| Barcode result; | |||||
| QRViewController controller; | QRViewController controller; | ||||
| /// Overriding reassemble and pausing the camera | |||||
| /// ensures us that hot reload won't give a black screen | |||||
| @override | |||||
| void reassemble() { | |||||
| super.reassemble(); | |||||
| controller.pauseCamera(); | |||||
| } | |||||
| @override | @override | ||||
| Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
| return Scaffold( | return Scaffold( | ||||
| @@ -82,7 +90,9 @@ class _QRViewExampleState extends State<QRViewExample> { | |||||
| Expanded( | Expanded( | ||||
| flex: 1, | flex: 1, | ||||
| child: Center( | child: Center( | ||||
| child: Text('Scan result: $qrText'), | |||||
| child: (result != null) ? | |||||
| Text('Barcode Type: ${describeEnum(result.format)} Data: ${result.code}') | |||||
| : Text('Scan a code'), | |||||
| ), | ), | ||||
| ) | ) | ||||
| ], | ], | ||||
| @@ -41,12 +41,20 @@ class QRViewExample extends StatefulWidget { | |||||
| } | } | ||||
| class _QRViewExampleState extends State<QRViewExample> { | class _QRViewExampleState extends State<QRViewExample> { | ||||
| var qrText = ''; | |||||
| Barcode result; | |||||
| var flashState = flashOn; | var flashState = flashOn; | ||||
| var cameraState = frontCamera; | var cameraState = frontCamera; | ||||
| QRViewController controller; | QRViewController controller; | ||||
| final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); | final GlobalKey qrKey = GlobalKey(debugLabel: 'QR'); | ||||
| /// Overriding reassemble and pausing the camera | |||||
| /// ensures us that hot reload won't give a black screen | |||||
| @override | |||||
| void reassemble() { | |||||
| super.reassemble(); | |||||
| controller.pauseCamera(); | |||||
| } | |||||
| @override | @override | ||||
| Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
| return Scaffold( | return Scaffold( | ||||
| @@ -60,7 +68,10 @@ class _QRViewExampleState extends State<QRViewExample> { | |||||
| child: Column( | child: Column( | ||||
| mainAxisAlignment: MainAxisAlignment.spaceEvenly, | mainAxisAlignment: MainAxisAlignment.spaceEvenly, | ||||
| children: <Widget>[ | children: <Widget>[ | ||||
| Text('This is the result of scan: $qrText'), | |||||
| if (result != null) | |||||
| Text('Barcode Type: ${describeEnum(result.format)} Data: ${result.code}') | |||||
| else | |||||
| Text('Scan a code'), | |||||
| Row( | Row( | ||||
| mainAxisAlignment: MainAxisAlignment.center, | mainAxisAlignment: MainAxisAlignment.center, | ||||
| crossAxisAlignment: CrossAxisAlignment.center, | crossAxisAlignment: CrossAxisAlignment.center, | ||||
| @@ -177,7 +188,7 @@ class _QRViewExampleState extends State<QRViewExample> { | |||||
| this.controller = controller; | this.controller = controller; | ||||
| controller.scannedDataStream.listen((scanData) { | controller.scannedDataStream.listen((scanData) { | ||||
| setState(() { | setState(() { | ||||
| qrText = scanData; | |||||
| result = scanData; | |||||
| }); | }); | ||||
| }); | }); | ||||
| } | } | ||||
| @@ -189,6 +200,7 @@ class _QRViewExampleState extends State<QRViewExample> { | |||||
| } | } | ||||
| } | } | ||||
| ``` | ``` | ||||
| @@ -33,13 +33,6 @@ class _QRViewExampleState extends State<QRViewExample> { | |||||
| @override | @override | ||||
| Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
| String resultText; | |||||
| if (result == null) { | |||||
| resultText = 'No previous result'; | |||||
| } else { | |||||
| resultText = | |||||
| 'This is the result of scan (${describeEnum(result.format)}): ${result.code}'; | |||||
| } | |||||
| return Scaffold( | return Scaffold( | ||||
| body: Column( | body: Column( | ||||
| children: <Widget>[ | children: <Widget>[ | ||||
| @@ -51,7 +44,10 @@ class _QRViewExampleState extends State<QRViewExample> { | |||||
| child: Column( | child: Column( | ||||
| mainAxisAlignment: MainAxisAlignment.spaceEvenly, | mainAxisAlignment: MainAxisAlignment.spaceEvenly, | ||||
| children: <Widget>[ | children: <Widget>[ | ||||
| Text(resultText), | |||||
| if (result != null) | |||||
| Text('Barcode Type: ${describeEnum(result.format)} Data: ${result.code}') | |||||
| else | |||||
| Text('Scan a code'), | |||||
| Row( | Row( | ||||
| mainAxisAlignment: MainAxisAlignment.center, | mainAxisAlignment: MainAxisAlignment.center, | ||||
| crossAxisAlignment: CrossAxisAlignment.center, | crossAxisAlignment: CrossAxisAlignment.center, | ||||
| @@ -106,6 +106,8 @@ class QRView extends StatefulWidget { | |||||
| } | } | ||||
| class _QRViewState extends State<QRView> { | class _QRViewState extends State<QRView> { | ||||
| @override | @override | ||||
| Widget build(BuildContext context) { | Widget build(BuildContext context) { | ||||
| return Stack( | return Stack( | ||||