A Flutter application with custom camera functionality and advanced text editing features for captured media.
- Custom UI Layout: Clean, modern interface matching the provided design
- Cross Button: Close camera with confirmation dialog
- Flash Control: Toggle flashlight on/off (top right)
- Gallery Access: Quick access to photo library (bottom left)
- Capture Button:
- Tap to take photos
- Long press to start video recording
- Continuous recording with timer display
- Camera Switch: Toggle between front and rear cameras (bottom right)
- Video Recording Timer: Real-time duration display during recording
- Media Preview: View captured photos and videos
- Back Navigation: Return to camera with confirmation dialog
- Text Editing (Aa button):
- Add custom text overlays
- Change text color from color palette
- Customize background color/transparency
- Pinch to resize text
- Rotate text with gestures
- Drag to reposition anywhere on screen
- Double-tap to edit existing text
- Delete text overlays
- Video Controls (video only):
- Mute/unmute audio
- Auto-play with looping
- Options Selector: Bottom sheet with selectable options
- Save Functionality: Save media to device gallery
- Full Color Palette: Choose from extensive color options
- Background Customization: Transparent, solid colors, or semi-transparent
- Interactive Gestures:
- Drag to move
- Pinch to scale
- Rotate with touch
- Double-tap to edit
- Visual Feedback: Border highlights during manipulation
- Text Shadows: Automatic shadows for transparent backgrounds
camera: Camera functionality and controlsvideo_player: Video playback in previewpermission_handler: Camera and storage permissionsphoto_manager: Gallery access and media managementimage_gallery_saver: Save media to device gallerypath_provider: File system access
- Camera access
- Microphone for video recording
- Storage read/write permissions
- Media permissions for Android 13+
- Camera usage
- Microphone access
- Photo library access and additions
- Launch App: Tap "Open Camera" from home screen
- Take Photos: Tap the center capture button
- Record Videos: Long press and hold the capture button
- Add Text: In preview, tap "Aa" button to add text overlays
- Customize Text: Use color pickers and drag gestures to style
- Save Media: Tap "Save" to store in device gallery
The app follows a clean architecture with:
- Screens: Main UI components (Camera, Preview, Home)
- Widgets: Reusable components (TextOverlay, BottomSheet)
- Data Models: TextOverlayData for text properties
- State Management: StatefulWidget with proper lifecycle handling
- Android: API level 21+ (Android 5.0+)
- iOS: iOS 11.0+
- Permissions: Automatically requested at runtime