zebra_scanner_plugin 1.1.3 copy "zebra_scanner_plugin: ^1.1.3" to clipboard
zebra_scanner_plugin: ^1.1.3 copied to clipboard

A new flutter plugin for scanning a barcode through zebra scanner device.

example/lib/main.dart

import 'package:flutter/material.dart';
import 'package:zebra_scanner_plugin/zebra_scanner_plugin.dart';

void main() {
  runApp(const MyApp());
}

class MyApp extends StatefulWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  List<Barcode> scannedCodes = [];

  ScrollController listScrollController = ScrollController();

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: const Text('Zebra Scanner Plugin example app'),
          actions: [
            PopupMenuButton(
                itemBuilder: (context) => [
                      PopupMenuItem(
                        child: const Text("Scan and connect"),
                        onTap: () async {
                          await ZebraScannerPlugin.initScanner;
                          await ZebraScannerPlugin.connect();
                        },
                        value: 1,
                      ),
                    ])
          ],
        ),
        body: StreamBuilder<Barcode>(
            stream: ZebraScannerPlugin.barcodeStream,
            builder: (context, snapshot) {
              Barcode? data;
              if (snapshot.hasData) {
                data = snapshot.data;
                scannedCodes.add(data!);
                if (listScrollController.hasClients) {
                  final position =
                      listScrollController.position.maxScrollExtent;
                  listScrollController.jumpTo(position);
                }
              } else if (snapshot.hasError) {
                print(snapshot.error);
              }
              return Padding(
                padding: const EdgeInsets.all(10.0),
                child: ListView.builder(
                  itemBuilder: (context, index) {
                    return ListTile(
                      title: Text(scannedCodes[index].data),
                      leading: const Icon(
                        Icons.qr_code,
                      ),
                      trailing: Text(scannedCodes[index].type),
                    );
                  },
                  controller: listScrollController,
                  itemCount: scannedCodes.length,
                ),
              );
            }),
      ),
    );
  }
}
14
likes
150
pub points
49%
popularity

Publisher

unverified uploader

A new flutter plugin for scanning a barcode through zebra scanner device.

Repository (GitHub)
View/report issues

Documentation

API reference

License

BSD-3-Clause (license)

Dependencies

flutter

More

Packages that depend on zebra_scanner_plugin