This project is a clone of Astro Android app that mainly demonstrates Jetpack Compose usage for real-world app. This project only demonstrate the UI logic of Astro's home screen functionality, such as:
- Drawing gradient on top of multiple UI sections.
- View-pager banner like with snapping behavior
- Grid section with two view item type
- Bottom navigation and handling back button
Mona screenshot:
Astro screenshot:
GIF:
- Jetpack Compose sample usages, including ConstraintLayout in Compose.
- State hoisting
- UI testing for composables using Robolectric
- Jetpack navigation
- Architecture (Clean) and UI architecture (MVVM, MVP, MVI, etc.)
- Networking, persistence, and concurrency
Astrologist Mona Megistus (Mona) is an astrologist in Genshin Impact game. She can sprint really fast, which embody Astro company spirit to deliver groceries as quickly as possible.
At the time of writing, I'm not employed by Astro. Everything from code, layout, to design took inspiration from Astro app from end-user perspective. I use uiautomatorviewer
to measure some dimension and color picker to pick the right color for certain UI.
I use Genshin Impact game assets for this project. HoYoverse/miHoYo allow third-party developer to use its game assets for personal project.
"© All rights reserved by miHoYo. Other properties belong to their respective owners."