This repository demonstrates custom drawing in Jetpack Compose using Canvas, Path, and other graphics APIs. It also showcases how to build custom shapes, UI components, and charts (BarChart, LineChart, etc.), along with an example integration of a 3rd-party chart library
The goal of this repo is to serve as a learning resource and reference for developers exploring Jetpack Compose graphics, animations, and data visualization.
-
Custom Drawing with Canvas
- Drawing lines, circles, rectangles, and arcs.
- Working with gradients, brushes, and shaders.
- Understanding coordinates, transformations, and scaling
-
Custom Shapes & UI Components
- Creating reusable shapes with
Shapeinterface. - Path-based custom UI elements.
- Clipping, masks, and rounded designs.
- Creating reusable shapes with
-
Charts Implementation
- 📊 Bar Chart – Built from scratch with Compose Canvas.
- 📈 Line Chart – Custom implementation with animations.
- 🔄 Interactive chart gestures (panning, scaling – if included).
- Integration of third-party chart library (e.g., Vico/YCharts).
-
Animations
- Animated transitions with
Animatable,InfiniteTransition, andLaunchedEffect. - Path morphing & smooth movement of drawing elements.
- Animated transitions with
By exploring this repo, you will learn:
- How to use Canvas API in Compose.
- Building custom shapes & UI components.
- Implementing charts from scratch.
- Integrating and customizing third-party chart libraries.
- Applying animations for smoother, more dynamic graphics.