https://github.com/mrdeveloperjis/calendar-androidapp
A minimal, swipeable Android calendar built with Jetpack Compose and Material 3. Clean monthly view, animated transitions, and tap-to-jump year/month pickers.
https://github.com/mrdeveloperjis/calendar-androidapp
android-app android-studio calendar kotlin
Last synced: 2 days ago
JSON representation
A minimal, swipeable Android calendar built with Jetpack Compose and Material 3. Clean monthly view, animated transitions, and tap-to-jump year/month pickers.
- Host: GitHub
- URL: https://github.com/mrdeveloperjis/calendar-androidapp
- Owner: MrDeveloperJIS
- License: mit
- Created: 2026-06-24T07:00:38.000Z (13 days ago)
- Default Branch: main
- Last Pushed: 2026-06-28T06:18:43.000Z (9 days ago)
- Last Synced: 2026-06-28T08:10:38.567Z (9 days ago)
- Topics: android-app, android-studio, calendar, kotlin
- Language: Kotlin
- Homepage:
- Size: 210 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# π
Calendar β Android App
A clean, minimal calendar app for Android built entirely with **Jetpack Compose** and **Material 3**. No third-party dependencies, no bloat β just a fast, native calendar experience.
---
## β¨ Features
- **Monthly calendar grid** β clean 7-column layout with a Saturday-first week start
- **Swipe navigation** β swipe left/right anywhere on the screen to move between months
- **Animated transitions** β smooth slide animations when changing months, with correct directional logic
- **Tap to navigate** β tap the month or year in the header to jump directly via picker dialogs
- **Year picker** β scrollable grid covering 1991β2050, auto-scrolled to the current year
- **Month picker** β 3-column grid for quick month selection
- **Today card** β pinned bottom card showing today's full date; tap it to jump back to the current month
- **Today & selected day indicators** β today gets an outline ring; selected date gets a filled circle
- **Edge-to-edge UI** β full-screen layout with no wasted space
- **Material 3 theming** β follows system color scheme (light/dark mode)
---
## π Tech Stack
| Layer | Technology |
|---|---|
| Language | Kotlin |
| UI | Jetpack Compose |
| Design system | Material 3 |
| Date/time | `java.time` (LocalDate, YearMonth) |
| Architecture | Single-Activity, Composable functions |
| Min SDK | 35 (Android 15) |
| Target SDK | 36 |
---
## π Project Structure
```
app/src/main/java/com/mrjis/calendar/
β
βββ MainActivity.kt # Entry point; hosts CalendarApp composable
β
βββ ui/theme/
βββ Color.kt # App color palette
βββ Theme.kt # MaterialTheme setup
βββ Type.kt # Typography definitions
```
**Key composables inside `MainActivity.kt`:**
- `CalendarApp` β root composable; manages state (current month, selected date, slide direction)
- `CalendarHeader` β animated month/year label with tap-to-pick support
- `WeekdayHeader` β static SatβFri day-of-week labels
- `CalendarGrid` β `LazyVerticalGrid` rendering all day cells for a given month
- `DayCell` β individual day tile with selected/today visual states
- `TodayDateCard` β bottom card displaying today's full date and acting as a reset button
- `YearPickerDialog` β scrollable year selection dialog
- `MonthPickerDialog` β 3-column month selection dialog
---
## π Getting Started
### Prerequisites
- Android Studio Hedgehog or later
- Android SDK 35+
- Kotlin 2.x
### Build & Run
```bash
git clone https://github.com/MrDeveloperJIS/Calendar-AndroidApp.git
cd Calendar-AndroidApp
```
Open the project in Android Studio, wait for Gradle sync, then run on a device or emulator running **Android 15 (API 35)** or higher.
---
## π± Screenshots

---
## π License
This project is open source. See [LICENSE](LICENSE) for details.