{"id":26423308,"url":"https://github.com/coderbdk/circularmenucompose","last_synced_at":"2025-07-10T16:35:02.947Z","repository":{"id":278811530,"uuid":"936787033","full_name":"CoderBDK/CircularMenuCompose","owner":"CoderBDK","description":"Jetpack Compose Circular Menu is a versatile and interactive UI component library for Android applications.","archived":false,"fork":false,"pushed_at":"2025-02-22T13:37:06.000Z","size":109,"stargazers_count":3,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-18T02:49:13.525Z","etag":null,"topics":["android","circular","circular-menu","compose","jetpack-compose","kotin","menu","naviagtion"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CoderBDK.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2025-02-21T17:26:36.000Z","updated_at":"2025-02-25T09:28:03.000Z","dependencies_parsed_at":null,"dependency_job_id":"6e6c6781-9ee5-4375-b1d2-4239062e1dde","html_url":"https://github.com/CoderBDK/CircularMenuCompose","commit_stats":null,"previous_names":["coderbdk/circularmenucompose"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CoderBDK/CircularMenuCompose","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderBDK%2FCircularMenuCompose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderBDK%2FCircularMenuCompose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderBDK%2FCircularMenuCompose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderBDK%2FCircularMenuCompose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CoderBDK","download_url":"https://codeload.github.com/CoderBDK/CircularMenuCompose/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CoderBDK%2FCircularMenuCompose/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":264608203,"owners_count":23636689,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["android","circular","circular-menu","compose","jetpack-compose","kotin","menu","naviagtion"],"created_at":"2025-03-18T02:48:48.540Z","updated_at":"2025-07-10T16:35:02.936Z","avatar_url":"https://github.com/CoderBDK.png","language":"Kotlin","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 🌀 CircularMenuCompose\n\n🚀 CircularMenuCompose is a beautiful and interactive Jetpack Compose library for creating elegant circular menus with smooth animations.\n\n---\n\n## ✨ Features\n\n- 🎨 **Customizable UI** – Easily modify colors to match your app’s theme.\n\n- ⚡ Smooth Animations – Expand, rotate, and select menu items with seamless transitions.\n\n- 🔄 Dynamic Menu – Clean, intuitive design with menu items arranged in a circular fashion.\n\n- 🎯 **State Management** – Seamless handling of menu selection and expansion.\n\n- ✅ **Lightweight \u0026 Fast** – Optimized for performance and smooth user experience.\n\n- 🔧 **Easy to Use** – Simple setup with minimal configuration required.\n\n\n\n---\n\n## 📸 Preview\n![output](https://github.com/user-attachments/assets/0a8789f5-f54a-4134-8472-2dc7a9e58ce7)\n![image](https://github.com/user-attachments/assets/9609ae4a-9c96-46e8-bc6f-fefc7fa0df8b)\n\n\n---\n\n## 🛠 Usage\n\n### **Step 1: Create a Menu State**\n\n```kotlin\n\nval circularMenus = listOf(\n    CircularMenuItem(\n        title = \"Home\",\n        icon = CircularMenuIcon.Vector(image = Icons.Default.Home)\n    ),\n    CircularMenuItem(\n        title = \"AccountCircle\",\n        icon = CircularMenuIcon.Vector(image = Icons.Default.AccountCircle)\n    ),\n    CircularMenuItem(\n        title = \"Favorite\",\n        icon = CircularMenuIcon.Vector(image = Icons.Default.Favorite)\n    ),\n    CircularMenuItem(\n        title = \"Build\",\n        icon = CircularMenuIcon.Vector(image = Icons.Default.Build)\n    ),\n    CircularMenuItem(\n        title = \"Delete\",\n        icon = CircularMenuIcon.Vector(image = Icons.Default.Delete)\n    )\n)\n val state = rememberCircularMenuState(\n        menus = circularMenus,\n        colors = CircularMenuDefaults.colors(\n            selectedIconColor = Color(0xFFFFFFFF),\n            unselectedIconColor = Color(0xFFD97069),\n            controllerButtonContainerColor = Color(0xFFE31F11),\n            controllerButtonIconColor = Color(0xFFF5F5F5),\n            overlayContainerBorderColor = Color(0xFF4A4A4A).copy(alpha = 0.4f)\n        ),\n        brushes = CircularMenuDefaults.brushes(\n            overlayContainerBrush = Brush.radialGradient(\n                listOf(\n                    Color(0xFFFF5722),\n                    Color(0xFF9D2920)\n                )\n            ),\n            indicatorBrush = Brush.linearGradient(\n                listOf(\n                    Color(0xFFD7382E),\n                    Color(0xFFE88D87)\n                )\n            ),\n\n            )\n    )\n```\n\n### **Step 2: Implement the Circular Menu**\n\n```kotlin\nCircularMenu(\n    state = state,\n    onMenuSelected = { index -\u003e\n        println(\"Selected item: $index\")\n    }\n)\n```\n\n---\n\n## 🎨 Customization\n\nYou can change the **colors and brushes** to fit your design:\n\n```kotlin\ncolors = CircularMenuDefaults.colors(\n    selectedIconColor = Color(0xFFFFFFFF),\n    unselectedIconColor = Color(0xFFD97069),\n    controllerButtonContainerColor = Color(0xFFE31F11),\n    controllerButtonIconColor = Color(0xFFF5F5F5),\n    overlayContainerBorderColor = Color(0xFF4A4A4A).copy(alpha = 0.4f)\n)\n```\n\n```kotlin\nbrushes = CircularMenuDefaults.brushes(\n    overlayContainerBrush = Brush.radialGradient(\n        listOf(\n            Color(0xFFFF5722),\n            Color(0xFF9D2920)\n        )\n    ),\n    indicatorBrush = Brush.linearGradient(\n        listOf(\n            Color(0xFFD7382E),\n            Color(0xFFE88D87)\n        )\n    )\n)\n```\n\n## 📦 Installation\n\nClone this repository:\n```bash\ngit clone https://github.com/CoderBDK/CircularMenuCompose.git\n```\n\n## License\n\n\nThis project is licensed under the MIT License. See the [LICENSE](LICENSE) file for details.\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderbdk%2Fcircularmenucompose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcoderbdk%2Fcircularmenucompose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcoderbdk%2Fcircularmenucompose/lists"}