finished flutter

This commit is contained in:
nicco
2018-08-30 16:55:23 +02:00
parent ca7814bed9
commit 2906e18507
7 changed files with 144 additions and 40 deletions

View File

@@ -16,8 +16,8 @@ class Home extends StatelessWidget {
Padding(padding: EdgeInsets.only(bottom: 80.0), child: Logo()),
Button(
callback: () {
// Navigator.pushNamed(context, '/scan');
Navigator.pushNamed(context, '/success/1');
Navigator.pushNamed(context, '/scan');
// Navigator.pushNamed(context, '/success/1');
},
text: "Scan",
),

View File

@@ -1,27 +1,28 @@
import 'dart:async';
// import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:qr_mobile_vision/qr_camera.dart';
// import 'package:flutter/services.dart';
import 'package:barcode_scan/barcode_scan.dart';
// import 'package:barcode_scan/barcode_scan.dart';
import '../Components/BG.dart';
import '../Components/SyncIcon.dart';
class Scan extends StatelessWidget {
Future scan() async {
try {
String barcode = await BarcodeScanner.scan();
print('Success');
print(barcode);
Navigator.pushNamed(null, '/home');
} on PlatformException catch (e) {
if (e.code == BarcodeScanner.CameraAccessDenied)
print('The user did not grant the camera permission!');
} catch (e) {
print('Nope');
print(e);
}
}
// Future scan() async {
// try {
// String barcode = await BarcodeScanner.scan();
// print('Success');
// print(barcode);
// Navigator.pushNamed(null, '/home');
// } on PlatformException catch (e) {
// if (e.code == BarcodeScanner.CameraAccessDenied)
// print('The user did not grant the camera permission!');
// } catch (e) {
// print('Nope');
// print(e);
// }
// }
@override
Widget build(BuildContext context) => BG(
@@ -33,7 +34,16 @@ class Scan extends StatelessWidget {
'Scanning...',
style: TextStyle(fontWeight: FontWeight.bold),
),
SyncIcon()
SyncIcon(),
SizedBox(
width: 280.0,
height: 280.0,
child: new QrCamera(
qrCodeCallback: (code) {
Navigator.pushNamed(context, '/success/$code');
},
),
)
],
)));
}

View File

@@ -10,8 +10,9 @@ class Success extends StatelessWidget {
Success({@required this.result}) {
final initializationSettings = InitializationSettings(
AndroidInitializationSettings('app_icon'), IOSInitializationSettings());
final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin()
..initialize(initializationSettings);
final flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlugin();
flutterLocalNotificationsPlugin.initialize(initializationSettings);
flutterLocalNotificationsPlugin.show(
this.result,

View File

@@ -0,0 +1,46 @@
import 'dart:async';
import 'package:flutter/material.dart';
import 'package:qr_reader/qr_reader.dart';
void main() {
runApp(MaterialApp(
home: MyHomePage(),
));
}
class MyHomePage extends StatefulWidget {
@override
createState() => _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
Future<String> _barcodeString;
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: FutureBuilder<String>(
future: _barcodeString,
builder: (BuildContext context, AsyncSnapshot<String> snapshot) {
return Text(snapshot.data != null ? snapshot.data : '');
})),
floatingActionButton: FloatingActionButton(
onPressed: () {
setState(() {
_barcodeString = QRCodeReader()
.setAutoFocusIntervalInMs(200)
.setForceAutoFocus(true)
.setTorchEnabled(false)
.setHandlePermissions(true)
.setExecuteAfterPermissionGranted(true)
.scan();
});
},
tooltip: 'Reader the QRCode',
child: Icon(Icons.add_a_photo),
),
);
}
}