Camera Window

Camera Window is a Flutter plugin that provides an overlay camera window for Android applications. This allows users to open a floating camera preview that remains on top of other apps.

Features

  • 📸 Floating camera overlay
  • 🔄 Toggle the camera on/off
  • 🎛️ Resize and position the overlay dynamically
  • 📱 Works seamlessly on Android

Getting Started

This plugin can be used for only android

class CameraWindow extends StatefulWidget {
  const CameraWindow({super.key});

  @override
  State<CameraWindow> createState() => _CameraWindowState();
}

class _CameraWindowState extends State<CameraWindow> {
  bool camera = false;

  Future<void> _requestPermissions() async {
    // Request Camera Permission
    var cameraStatus = await Permission.camera.request();
    if (cameraStatus.isDenied) {
      await Permission.camera.request();
    } else if (cameraStatus.isPermanentlyDenied) {
      openAppSettings();
    }

    // Request Overlay Permission
    bool isOverlayGranted = await FlutterOverlayWindow.isPermissionGranted();
    if (!isOverlayGranted) {
      await FlutterOverlayWindow.requestPermission();
    }
  }

  @override
  void initState() {
    super.initState();
    _requestPermissions(); // Request permissions on screen load
  }

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: ElevatedButton(
          onPressed: () {
            setState(() {
              camera = !camera;
            });
            CameraWindo(camera); // Ensure CameraWindo is properly handled
          },
          child: Text(camera ? 'Stop Camera' : 'Start Camera'),
        ),
      ),
    );
  }
}

Libraries

camera_window