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

outdated

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

example/lib/main.dart

import 'dart:async';
import 'dart:io';

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

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

class App extends StatelessWidget {
  @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: openCamera, text: 'Open the camera'),
          ElevatedText(
              onPressed: () => push(const ScannerBoxPage()), text: '扫码框浮层'),
          ElevatedText(
              onPressed: () => push(const ScannerLinePage()), text: '线条浮层')
        ]);
  }

  Future<void> openCamera() async {
    if (Platform.isAndroid) {
      final bool permission = await getPermission(Permission.camera);
      if (permission) push(const CameraPage());
    } else if (Platform.isIOS) {
      push(const CameraPage());
    }
  }
}

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.toString() + ' = ' + value.toString())));
}

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));
}
5
likes
0
pub points
61%
popularity

Publisher

unverified uploader

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

Repository (GitHub)
View/report issues

License

unknown (LICENSE)

Dependencies

flutter

More

Packages that depend on fl_camera