fl_camera 3.1.3 copy "fl_camera: ^3.1.3" to clipboard
fl_camera: ^3.1.3 copied to clipboard

A camera plugin for flutter , support Android(used CameraX) and IOS

example/lib/main.dart

import 'dart:async';

import 'package:example/camera_page.dart';
import 'package:example/event_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter_waya/flutter_waya.dart';
import 'package:permission_handler/permission_handler.dart';

void main() {
  runApp(const ExtendedWidgetsApp(home: App(), title: 'FlCamera'));
}

class App extends StatelessWidget {
  const App({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return ExtendedScaffold(
        appBar: AppBar(title: const Text('FlCamera Example')),
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          ElevatedText(
              onPressed: () => push(const FlCameraEventPage()),
              text: 'Message channel'),
          ElevatedText(
              onPressed: () async {
                final bool permission = await getPermission(Permission.camera);
                if (permission) push(const CameraPage());
              },
              text: 'Open the camera'),
          ElevatedText(
              onPressed: () async {
                final bool permission = await getPermission(Permission.camera);
                if (permission) push(const ScannerBoxPage());
              },
              text: '扫码框浮层'),
          ElevatedText(
              onPressed: () async {
                final bool permission = await getPermission(Permission.camera);
                if (permission) push(const ScannerLinePage());
              },
              text: '线条浮层'),
        ]);
  }
}

Future<bool> getPermission(Permission permission) async {
  PermissionStatus status = await permission.status;
  if (status.isGranted) {
    return true;
  } else {
    status = await permission.request();
    if (!status.isGranted) openAppSettings();
    return status.isGranted;
  }
}

Widget showText(dynamic key, dynamic value) {
  return Visibility(
      visible: value != null &&
          value.toString().isNotEmpty &&
          value.toString() != 'null',
      child: Container(
          margin: const EdgeInsets.all(10), child: Text('$key = $value')));
}

class ElevatedText extends StatelessWidget {
  const ElevatedText({Key? key, required this.text, required this.onPressed})
      : super(key: key);

  final String text;
  final VoidCallback onPressed;

  @override
  Widget build(BuildContext context) =>
      ElevatedButton(onPressed: onPressed, child: Text(text));
}

class ElevatedIcon extends StatelessWidget {
  const ElevatedIcon({Key? key, this.onPressed, required this.icon})
      : super(key: key);
  final VoidCallback? onPressed;
  final IconData icon;

  @override
  Widget build(BuildContext context) => ElevatedButton(
      onPressed: onPressed, child: Icon(icon, color: Colors.white));
}
5
likes
130
pub points
61%
popularity

Publisher

unverified uploader

A camera plugin for flutter , support Android(used CameraX) and IOS

Repository (GitHub)
View/report issues

Documentation

API reference

License

MIT (LICENSE)

Dependencies

flutter

More

Packages that depend on fl_camera