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, double finure to resise camera window
- 📱 Works seamlessly on Android
Getting Started
This plugin can be used for only android
import 'package:camera_overlay_window/camera_window.dart';
import 'package:flutter/material.dart';
import 'package:permission_handler/permission_handler.dart';
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 CameraOverlay.isPermissionGranted();
if (!isOverlayGranted) {
await CameraOverlay.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;
});
CameraOverlay.cameraWindo(
camera); // Ensure CameraWindo is properly handled
},
child: Text(camera ? 'Stop Camera' : 'Start Camera'),
),
),
);
}
}