Skip to content

QR code (scan / picture) recognition (AndroidView / UiKitView)

License

Notifications You must be signed in to change notification settings

fogaiht/ez_qr

 
 

Repository files navigation

pub points pub points pub points License: MIT style: effective dart All Contributors

ez_qr Awesome Flutter

This is a forked package from @hetian9288

ez_qr

QR code (scan code/picture) recognition(AndroidView/UiKitView)

A package that allows you to use the native camera to read qr code through images/files and has the flexibility to customize the view.

Currently supported features

  • Supports Android and iOS devices
  • Place the QR code inside the square/custom_shape frame to get the information from QR code
  • Select QR code from your local library from the image picker inside the ScanView
  • Uses OS default native camera
  • Accepts different types of standard and custom shapes (media, image, video, audio or any)

If you have any feature that you want to see in this package, please feel free to issue a suggestion. 🎉

Qr code reader with default view

import 'package:ez_qr/ez_qr.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(home: HomePage());
  }
}

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

  @override
  _HomePageState createState() => new _HomePageState();
}

class _HomePageState extends State<HomePage> {
  String result = '';

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: const Text('Package example app'),
      ),
      body: Padding(
        padding: const EdgeInsets.symmetric(horizontal: 32),
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          crossAxisAlignment: CrossAxisAlignment.stretch,
          children: <Widget>[
            ElevatedButton(
              onPressed: () async {
                String? results = await Navigator.push(
                  context,
                  MaterialPageRoute(
                    builder: (context) => ScanView(
                      cornerColor: Colors.blue,
                    ),
                  ),
                );

                if (results != null) {
                  setState(() {
                    result = results;
                  });
                }
              },
              child: Text('Tap to scan'),
            ),
            Center(child: Text(result)),
          ],
        ),
      ),
    );
  }
}

For IOS

Opt-in to the embedded views preview by adding a boolean property to the app's Info.plist file with the key io.flutter.embedded_views_preview and the value YES.

<key>io.flutter.embedded_views_preview</key>
<string>YES</string>

And you will need provide the description of camera's permission to work properly, otherwise will crash your app.

  <key>NSCameraUsageDescription</key>
	<string>The porpuse explaining why you will use the camera</string>

About

QR code (scan / picture) recognition (AndroidView / UiKitView)

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Java 65.0%
  • Dart 20.7%
  • Objective-C 9.0%
  • Ruby 2.8%
  • HTML 1.5%
  • Shell 0.5%
  • Other 0.5%