Clean. Dark. Distraction-free.
Built with Kotlin and RecyclerView while learning Android development.
- 🔵 Smooth scrollable task list built with
RecyclerView - ☑️ Checkbox on every task
- 🧠 Ticks stay correct while scrolling (state lives in data, not in recycled views)
- 🌑 Dark theme with a cyan and blue accent
- 🔤 Custom header font and divider lines between tasks
| Tool | Used for |
|---|---|
| Kotlin | App logic |
| Android Studio | Development |
| RecyclerView | Efficient scrolling list with custom Adapter and ViewHolder |
| ConstraintLayout / LinearLayout | Screen and row layouts |
app/src/main/
├── java/com/malaika/flow/
│ ├── MainActivity.kt # Sets up the RecyclerView and task list
│ └── flowcomp.kt # RecyclerView adapter (ViewHolder + checkbox state)
└── res/layout/
├── activity_main.xml # Screen layout: title + RecyclerView
└── flow_comp.xml # Single task row: checkbox + text + divider
MainActivitycreates the task list and attaches aLinearLayoutManagerand theflowcompadapter to the RecyclerView.flowcompinflatesflow_comp.xmlfor each visible row and reuses rows while you scroll.- The checked state of each task is kept in the adapter's data, so a recycled row never shows the wrong tick.
- Clone the repository
git clone https://github.com/<your-username>/Flow.git
- Open the project in Android Studio
- Let Gradle sync finish
- Run the app on an emulator or a physical device
- Add new tasks with an input field and button
- Delete tasks
- Strikethrough text for completed tasks
- Save ticked tasks so they persist after the app closes
- Cloud sync with Firebase Firestore
- User login with Firebase Authentication
Malaika
This project is licensed under the MIT License. See the LICENSE file for details.
Made with 💙 and Kotlin

