FLUTTER ECOSYSTEM

SiriDx/qrcode

QR 코드 스캔을 위한 플러터 플러그인입니다. iOS에서는 AVCaptureSession을, Android에서는 zxing을 사용합니다.

qrcode 프로젝트 이미지
Stars
71
Forks
45
최근 푸시(UTC)
2022. 10. 20.
프로젝트 상태
활성
Dean Chen GitHub avatar
GITHUB User

Dean Chen ↗

iOS & Flutter Developer.

Xiamen, China
언어DartObjective-CRubyShell

기술 주제

이 저장소가 배포한 패키지

원본 README

아래는 영문 원문 스냅샷입니다. 최신 내용은 GitHub에서 확인하세요.

README 펼치기 / 접기

qrcode

A flutter plugin for scanning QR codes. Use AVCaptureSession in iOS and zxing in Android.

Usage

Use this package as a library
Add dependency

Add this to your package's pubspec.yaml file:

dependencies:
  qrcode: ^1.0.5
Install it

You can install packages from the command line:

with Flutter:

$ flutter pub get
Import it

Now in your Dart code, you can use:

import 'package:qrcode/qrcode.dart';
Basic
class _MyAppState extends State<MyApp> {
  QRCaptureController _captureController = QRCaptureController();

  bool _isTorchOn = false;

  @override
  void initState() {
    super.initState();

    _captureController.onCapture((data) {
      print('onCapture----$data');
    });
  }

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        body: Stack(
          alignment: Alignment.center,
          children: <Widget>[
            QRCaptureView(controller: _captureController),
            Align(
              alignment: Alignment.bottomCenter,
              child: _buildToolBar(),
            )
          ],
        ),
      ),
    );
  }

  Widget _buildToolBar() {
    return Row(
          mainAxisSize: MainAxisSize.max,
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            FlatButton(
              onPressed: () {
                _captureController.pause();
              },
              child: Text('pause'),
            ),
            FlatButton(
              onPressed: () {
                if (_isTorchOn) {
                  _captureController.torchMode = CaptureTorchMode.off;
                } else {
                  _captureController.torchMode = CaptureTorchMode.on;
                }
                _isTorchOn = !_isTorchOn;
              },
              child: Text('torch'),
            ),
            FlatButton(
              onPressed: () {
                _captureController.resume();
              },
              child: Text('resume'),
            ),
          ],
        );
  }
}

Integration

iOS

To use on iOS, you must add the following to your Info.plist

<key>NSCameraUsageDescription</key>
<string>Camera permission is required for qrcode scanning.</string>
<key>io.flutter.embedded_views_preview</key>
<true/>