Skip to content

A modern Android color picker app that samples colors in real time using the device camera. Built with Jetpack Compose and CameraX, leveraging the latest Camera Viewfinder APIs without legacy Views.

Notifications You must be signed in to change notification settings

meemanali/Camera-Color-Picker-Compose

Repository files navigation

🎨 Camera Color Picker

A modern Android color picker app that samples colors in real time using your device's camera. Built with Jetpack Compose and CameraX, it demonstrates Production-ready architecture, clean state management, and seamless camera integration using the latest Camera Viewfinder APIs - without relying on legacy Android Views inside Compose.

App Demo

Get it on F-Droid

Screenshots

Splash Screen Camera Screen Colors History Exit Dialog

Video Preview

color_picker_video.mp4

✨ Features

  • Real-time Color Sampling: Instantly picks colors from camera feed center point
  • Dual Camera Support: Switch between front and back cameras
  • Torch Control: Enable flashlight for better color accuracy in low light
  • Color Details: View HEX, RGB, and HSV values
  • Color History: Save and manage picked colors with Realm Database
  • Material Design 3: Modern UI with dynamic theming
  • Edge-to-Edge Display: Full immersive edge to edge experience
  • Runtime Permissions: Smooth permission handling with Accompanist No Ads, No Tracking: Completely free and privacy-focused

🛠️ Technical Highlights

Modern Android Stack

  • Jetpack Compose - 100% declarative UI with proper lifecycle awareness
  • CameraX ViewFinder - Latest camera preview implementation without AndroidView
  • Realm Database - Fast, reactive local storage for color history
  • Koin - Lightweight dependency injection
  • Accompanist Permissions - Declarative runtime permission handling
  • Coroutines & Flow - Asynchronous operations and reactive streams
  • Material Design 3 - Dynamic color theming

Requirements

Requirement Version
Min SDK 24
Target SDK 36
Kotlin 2.0.21
Compose BOM 2026.01.01
CameraX 1.5.2
Koin 4.1.1
Realm 3.0.0

Architecture & Patterns

  • MVVM Architecture with clear separation of concerns
  • Unidirectional Data Flow (UDF) with immutable state
  • Repository Pattern for data layer abstraction
  • Dependency Injection using Koin
  • Edge-to-Edge UI following Android 16 guidelines

📬 Contact

⭐ If you found this project helpful, please consider giving it a star!

About

A modern Android color picker app that samples colors in real time using the device camera. Built with Jetpack Compose and CameraX, leveraging the latest Camera Viewfinder APIs without legacy Views.

Topics

Resources

Stars

Watchers

Forks

Languages