Просмотр исходного кода

Updated barcode check to inline check. Updated README.md.

flutter-beta
Julian Steenbakker 5 лет назад
Родитель
Сommit
fb82887273
Не найден GPG ключ соответствующий данной подписи Идентификатор GPG ключа: 16E437C7A3D94250
4 измененных файлов: 33 добавлений и 13 удалений
  1. +12
    -2
      README.md
  2. +15
    -3
      example/README.md
  3. +4
    -8
      example/lib/main.dart
  4. +2
    -0
      lib/src/qr_code_scanner.dart

+ 12
- 2
README.md Просмотреть файл

@@ -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'),
), ),
) )
], ],


+ 15
- 3
example/README.md Просмотреть файл

@@ -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> {
} }
} }



``` ```






+ 4
- 8
example/lib/main.dart Просмотреть файл

@@ -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,


+ 2
- 0
lib/src/qr_code_scanner.dart Просмотреть файл

@@ -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(


Загрузка…
Отмена
Сохранить