import 'package:barcode_scan/barcode_scan.dart'; import 'package:barcode_scan/model/scan_result.dart'; import 'package:flutter/material.dart'; import 'package:font_awesome_flutter/font_awesome_flutter.dart'; import 'package:provider/provider.dart'; import 'package:fcs/model/product_model.dart'; import 'package:fcs/theme/theme.dart'; import 'package:fcs/vo/buyer.dart'; import 'package:fcs/vo/product.dart'; import 'package:fcs/widget/progress.dart'; class BarcodeScreenPage extends StatefulWidget { final BuyerProduct buyerProduct; const BarcodeScreenPage({Key key, this.buyerProduct}) : super(key: key); @override _BarcodeScreenPageState createState() => _BarcodeScreenPageState(); } class _BarcodeScreenPageState extends State { final _formKey = GlobalKey(); bool _isLoading = false; ScanResult scanResult; @override void initState() { super.initState(); } Widget showProducts(BuildContext context, ProductModel productModel) { return Row( mainAxisSize: MainAxisSize.max, children: [ Icon( FontAwesomeIcons.tag, color: primaryColor, size: 20, ), SizedBox( width: 20, ), new Flexible( child: Container( width: 170.0, child: DropdownButton( // value: currentProductID, isExpanded: true, hint: Text( 'Select Product', style: labelStyle, ), onChanged: changedProduct, items: productModel.products .map>((Product product) { return new DropdownMenuItem( value: product.id, child: new Text(product.name, style: textStyle), ); }).toList(), ), ), ), ], ); } void changedProduct(selected) { setState(() { // currentProductID = selected; }); } @override Widget build(BuildContext context) { return LocalProgress( inAsyncCall: _isLoading, child: Scaffold( appBar: AppBar( backgroundColor: primaryColor, title: Text("Bar Code Scranner"), ), body: Column( mainAxisAlignment: MainAxisAlignment.center, crossAxisAlignment: CrossAxisAlignment.stretch, children: [ RaisedButton( child: Icon(Icons.scanner), onPressed: () async { await scan(); }, ) ], )), ); } Future scan() async { var result = await BarcodeScanner.scan(); print("ScanResult => $result"); setState(() => scanResult = result); } // _save() { // if (currentProductID == null) return; // this.buyerProduct.productID = currentProductID; // var productName = // Provider.of(context).getProductName(currentProductID); // this.buyerProduct.productName = productName; // this.buyerProduct.storageCapacityQty = int.parse(_storage.text); // this.buyerProduct.dailySaleQty = int.parse(_sales.text); // Navigator.pop(context, this.buyerProduct); // } }