{"id":38212611,"url":"https://github.com/tsjdev-apps/countdowncontrol.maui","last_synced_at":"2026-01-17T00:44:38.420Z","repository":{"id":304936999,"uuid":"1020294657","full_name":"tsjdev-apps/countdowncontrol.maui","owner":"tsjdev-apps","description":"Repository for hosting a simple CountdownControl for .NET MAUI.","archived":false,"fork":false,"pushed_at":"2025-07-16T06:22:00.000Z","size":1546,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-17T08:36:00.620Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/tsjdev-apps.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"tsjdev-apps"}},"created_at":"2025-07-15T16:33:52.000Z","updated_at":"2025-07-16T06:22:02.000Z","dependencies_parsed_at":"2025-07-17T13:29:28.715Z","dependency_job_id":"d2b6cb10-8eab-45b0-a3d3-25e2d8ad3782","html_url":"https://github.com/tsjdev-apps/countdowncontrol.maui","commit_stats":null,"previous_names":["tsjdev-apps/countdowncontrol.maui"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/tsjdev-apps/countdowncontrol.maui","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsjdev-apps%2Fcountdowncontrol.maui","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsjdev-apps%2Fcountdowncontrol.maui/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsjdev-apps%2Fcountdowncontrol.maui/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsjdev-apps%2Fcountdowncontrol.maui/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tsjdev-apps","download_url":"https://codeload.github.com/tsjdev-apps/countdowncontrol.maui/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tsjdev-apps%2Fcountdowncontrol.maui/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28490523,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T23:55:29.509Z","status":"ssl_error","status_checked_at":"2026-01-16T23:55:29.108Z","response_time":107,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-01-17T00:44:38.330Z","updated_at":"2026-01-17T00:44:38.394Z","avatar_url":"https://github.com/tsjdev-apps.png","language":"C#","funding_links":["https://github.com/sponsors/tsjdev-apps"],"categories":[],"sub_categories":[],"readme":"# ⏳ Animated Countdown Control in .NET MAUI\n\n![Header](./docs/header.png)\n\nThis repository showcases how to build a reusable and animated `CountdownControl` for your .NET MAUI applications. The control features a smooth radial progress ring, adaptive text, and cross-platform support — ideal for timers, productivity tools, games, and more.\n\n\u003e 🎉 This project is my contribution to [#MAUIUIJULY](https://x.com/hashtag/MAUIUIJuly), a community-driven event where .NET MAUI developers share UI-focused blog posts every day throughout July.  \n\u003e 📚 You can explore the full list of contributions on [this website](https://goforgoldman.com/posts/mauiuijuly-25/).\n\n## 🚀 Getting Started\n\nTo try it out in your own MAUI app:\n\n1. **Create a new .NET MAUI project** in Visual Studio or using the CLI.\n2. **Add a new folder** called `Controls`.\n3. Copy the implementation from this repo:\n   - `CountdownDrawable.cs`: handles the radial animation logic.\n   - `CountdownControl.xaml` and `CountdownControl.xaml.cs`: the visual control with bindable properties and animation logic.\n4. Use the control in your XAML:\n\n```xml\n\u003ccontrols:CountdownControl\n    Duration=\"00:01:30\"\n    TextColor=\"White\"\n    ActiveColor=\"Green\"\n    InactiveColor=\"DarkGray\" /\u003e\n```\n\nThe control supports all major platforms: **Android**, **iOS**, **macOS Catalyst**, and **Windows**.\n\n## 📂 File Overview\n\n| File                          | Description                                      |\n|-------------------------------|--------------------------------------------------|\n| `CountdownDrawable.cs`        | Handles drawing the animated radial ring         |\n| `MyAwesomeCountdownControl.xaml` | Defines the UI layout and bindings            |\n| `MyAwesomeCountdownControl.xaml.cs` | Contains logic, animation loop, and bindings |\n\n---\n\n## ✅ Features\n\n- 🔄 Smooth radial animation (~60 FPS)\n- 🎨 Customizable colors (Active, Inactive, Text)\n- 📏 Auto-scaling font size based on control size\n- ✨ Blinking colon animation\n- 🧩 Easy integration into existing MAUI apps\n- 📱 Cross-platform support (Android, iOS, macOS Catalyst, Windows)\n\n## 📸 Screenshots\n\nHere’s how the `CountdownControl` looks on Windows:\n\n![Windows](./docs/sample_windows.png)\n\nIt also works seamlessly on Android, iOS, and Mac Catalyst with native rendering and animations.\n\n## 📝 Blog Post \u0026 Details\n\nWant to learn more about the inner workings of the control, including how the radial arc is animated, how the blinking colon works, and how font scaling was implemented?\n\n👉 Read the full post on [Medium](https://www.medium.com/@tsjdevapps):\n\n- [⏳ Building an Animated Countdown Control in .NET MAUI](https://medium.com/@tsjdevapps/building-an-animated-countdown-control-in-net-maui-0b1faff7ed76)\n\n## 📃 License\n\nThis project is licensed under the [MIT License](LICENSE).\n\n## 💬 Feedback\n\nFeel free to open an issue or drop me a message if you have feedback, questions, or want to collaborate!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsjdev-apps%2Fcountdowncontrol.maui","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftsjdev-apps%2Fcountdowncontrol.maui","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftsjdev-apps%2Fcountdowncontrol.maui/lists"}