This repository is designed to help Android developers learn Jetpack Compose through practical, real-world UI implementations. Each branch focuses on a specific UI pattern, component, or concept, making it easy to:
- π― Focus on one concept at a time
- π± See working implementations
- π Compare different approaches
- π‘ Learn best practices
- π Build production-ready UIs
Traditional tutorials often mix multiple concepts, making it hard to focus. This repository uses a branch-per-concept approach:
- Isolated Learning: Each branch contains one complete UI example
- No Clutter: Focus on what matters without distractions
- Easy Navigation: Switch branches to explore different UIs
- Version Control: Track your progress and experiments
- Reusable Code: Copy and adapt what you need
- Android Studio Hedgehog (2023.1.1) or later
- JDK 17 or higher
- Basic knowledge of Kotlin
- Familiarity with Android development
-
Clone the repository
git clone https://github.com/thogaruchesti-hemanth/compose-ui-playground.git cd compose-ui-playground -
View available branches
git branch -a
-
Switch to a specific UI branch
git checkout branch-name
-
Open in Android Studio
- Open Android Studio
- Select "Open an Existing Project"
- Navigate to the cloned directory
- Wait for Gradle sync to complete
-
Run the app
- Connect your device or start an emulator
- Click the "Run" button or press
Shift + F10
Each branch is prefixed with the proper category for easy identification. Here's a sample structure:
master
βββ feature/
β βββ reusable-onboarding-compose
β βββ dictionary-app
β βββ animated-chat-application
βββ practice/
β βββ text-practice
β βββ row-column
βββ google-compose/
| βββ birthday-card
| βββ dice-roller-app
| βββ basic-tip-calculator
.
.
Read More..
π For the complete branch structure with screenshots and learning objectives, see BRANCH_INDEX.md
Each branch contains its own screenshots showing the implemented UI
| Art Space App | Preview | Preview | Preview | Preview |
|---|---|---|---|---|
![]() |
||||
google-compose/art-space-app |
||||
| ββ Beginner+ | ||||
| β±οΈ 1.5β2 hrs |
| Basic Layouts | Basic State | Preview | Preview | Preview |
|---|---|---|---|---|
![]() |
![]() |
|||
codelabs/basic-layouts |
codelabs/basic-state |
|||
| ββ Intermediate | ββ Intermediate | |||
| β±οΈ 1.5β2 hrs | β±οΈ 1.5β2 hrs |
- Language: Kotlin
- UI Framework: Jetpack Compose
- Architecture: MVVM (where applicable)
- State Management: Compose State, ViewModel
- Navigation: Compose Navigation
- Design System: Material Design 3
- Build System: Gradle with Kotlin DSL
We welcome contributions! Here's how you can help:
- Fork the repository
- Create a new branch from
maingit checkout main git pull origin main git checkout -b ui/your-ui-name
- Implement your UI with:
- Clean, readable code
- Comments explaining key concepts
- A dedicated README in the branch
- Screenshots or GIFs
- Submit a Pull Request with:
- Clear description of the UI
- Learning objectives
- Difficulty level
- Screenshots
- β One UI concept per branch
- β Follow Material Design principles
- β Include comprehensive comments
- β Add a README with screenshots
- β Test on multiple screen sizes
- β Use meaningful variable names
- β Follow Kotlin coding conventions
- Issues: Found a bug? Open an issue
- Discussions: Questions? Start a discussion
- Instagram: Follow @Thogaruchesti-hemanth for updates
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
If this repository helped you learn Compose, please:
- β Star this repository
- π¦ Share it on social media
- π€ Contribute your own UI implementations
- π Write about your learning experience
- π£ If you share your work, Iβd really appreciate a mention or tag β it helps grow the community and supports my work!
- Thanks to all contributors who help make this resource better
- Inspired by the amazing Android developer community
- Built with β€οΈ for learners worldwide














