35 lines
1,015 B
Dart
35 lines
1,015 B
Dart
import 'package:flutter/material.dart';
|
|
import 'package:mobile_scanner/mobile_scanner.dart';
|
|
|
|
import '../widgets/screen_id_title.dart';
|
|
|
|
class BarcodeScannerScreen extends StatefulWidget {
|
|
const BarcodeScannerScreen({super.key});
|
|
|
|
@override
|
|
State<BarcodeScannerScreen> createState() => _BarcodeScannerScreenState();
|
|
}
|
|
|
|
class _BarcodeScannerScreenState extends State<BarcodeScannerScreen> {
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(
|
|
leading: const BackButton(),
|
|
title: const ScreenAppBarTitle(screenId: 'B1', title: 'バーコードスキャン'),
|
|
backgroundColor: Colors.black,
|
|
),
|
|
body: MobileScanner(
|
|
onDetect: (capture) {
|
|
final List<Barcode> barcodes = capture.barcodes;
|
|
if (barcodes.isNotEmpty) {
|
|
final String? code = barcodes.first.rawValue;
|
|
if (code != null) {
|
|
Navigator.pop(context, code);
|
|
}
|
|
}
|
|
},
|
|
),
|
|
);
|
|
}
|
|
}
|