{"id":15025920,"url":"https://github.com/ramotion/circle-menu-android","last_synced_at":"2025-05-15T08:10:39.724Z","repository":{"id":25967510,"uuid":"104188325","full_name":"Ramotion/circle-menu-android","owner":"Ramotion","description":":octocat: ⭕️ CircleMenu is a simple, elegant UI menu with a circular layout and material design animations. Android UI library made by @Ramotion","archived":false,"fork":false,"pushed_at":"2022-06-24T23:01:09.000Z","size":908,"stargazers_count":1887,"open_issues_count":9,"forks_count":271,"subscribers_count":55,"default_branch":"master","last_synced_at":"2025-04-07T03:14:00.356Z","etag":null,"topics":["android","java","library"],"latest_commit_sha":null,"homepage":"https://www.ramotion.com/android-mobile-app-development-library-for-arranging-ui-menu-in-a-circle/","language":"Java","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/Ramotion.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}},"created_at":"2017-09-20T08:31:50.000Z","updated_at":"2025-03-05T00:58:06.000Z","dependencies_parsed_at":"2022-08-07T11:16:13.817Z","dependency_job_id":null,"html_url":"https://github.com/Ramotion/circle-menu-android","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu-android","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu-android/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu-android/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Ramotion%2Fcircle-menu-android/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Ramotion","download_url":"https://codeload.github.com/Ramotion/circle-menu-android/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248889957,"owners_count":21178331,"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","java","library"],"created_at":"2024-09-24T20:03:19.580Z","updated_at":"2025-04-14T13:41:34.131Z","avatar_url":"https://github.com/Ramotion.png","language":"Java","readme":"\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=circle-menu-android\"\u003e\u003cimg src=\"https://github.com/Ramotion/folding-cell/blob/master/header.png\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://github.com/Ramotion/circle-menu-android\"\u003e\n\u003cimg align=\"left\" src=\"https://github.com/Ramotion/circle-menu-android/blob/master/preview.gif\" width=\"480\" height=\"360\" /\u003e\u003c/a\u003e\n\n\u003cp\u003e\u003ch1 align=\"left\"\u003eCIRCLE MENU [JAVA]\u003c/h1\u003e\u003c/p\u003e\n\n\u003ch4\u003eA simple, elegant UI menu with a circular layout and material design animations\u003c/h4\u003e\n\n\n___\n\n\n\u003cp\u003e\u003ch6\u003eWe specialize in the designing and coding of custom UI for Mobile Apps and Websites.\u003c/h6\u003e\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=circle-menu-android\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\u003cp\u003e\u003ch6\u003eStay tuned for the latest updates:\u003c/h6\u003e\n\u003ca href=\"https://goo.gl/rPFpid\" \u003e\n\u003cimg src=\"https://i.imgur.com/ziSqeSo.png/\" width=\"156\" height=\"28\"\u003e\u003c/a\u003e\u003c/p\u003e\n\n\u003c/br\u003e\n\n[![Twitter](https://img.shields.io/badge/Twitter-@Ramotion-blue.svg?style=flat)](http://twitter.com/Ramotion)\n[![Codacy Badge](https://api.codacy.com/project/badge/Grade/42eb7b00b93645c0812c045ab26cb3b7)](https://www.codacy.com/app/dvg4000/circle-menu-android?utm_source=github.com\u0026amp;utm_medium=referral\u0026amp;utm_content=Ramotion/circle-menu-android\u0026amp;utm_campaign=Badge_Grade)\n[![Donate](https://img.shields.io/badge/Donate-PayPal-blue.svg)](https://paypal.me/Ramotion)\n\n\n## Requirements\n​\n- Android 4.1 Jelly Bean (API lvl 16) or greater\n- Your favorite IDE\n\n## Installation\n​\nJust download the package from [here](http://central.maven.org/maven2/com/ramotion/circlemenu/circle-menu/0.3.2/circle-menu-0.3.2.aar) and add it to your project classpath, or just use the maven repo:\n\nGradle:\n```groovy\nimplementation 'com.ramotion.circlemenu:circle-menu:0.3.2'\n```\nSBT:\n```scala\nlibraryDependencies += \"com.ramotion.circlemenu\" % \"circle-menu\" % \"0.3.2\"\n```\nMaven:\n```xml\n\u003cdependency\u003e\n\t\u003cgroupId\u003ecom.ramotion.circlemenu\u003c/groupId\u003e\n\t\u003cartifactId\u003ecircle-menu\u003c/artifactId\u003e\n\t\u003cversion\u003e0.3.2\u003c/version\u003e\n\u003c/dependency\u003e\n```\n​\n\n## Basic usage\n\nPlace the `CircleMenuView` in your layout and set the icons and colors of the buttons, as shown below.\n```xml\napp:button_colors=\"@array/colors\"\napp:button_icons=\"@array/icons\"\n```\n\nExample of arrays `colors` and `icons` in `res\\values\\buttons.xml`:\n```xml\n\u003c?xml version=\"1.0\" encoding=\"utf-8\"?\u003e\n\u003cresources\u003e\n    \u003carray name=\"icons\"\u003e\n        \u003citem\u003e@drawable/ic_home_white_24dp\u003c/item\u003e\n        \u003citem\u003e@drawable/ic_search_white_24dp\u003c/item\u003e\n        \u003citem\u003e@drawable/ic_notifications_white_24dp\u003c/item\u003e\n        \u003citem\u003e@drawable/ic_settings_white_24dp\u003c/item\u003e\n        \u003citem\u003e@drawable/ic_place_white_24dp\u003c/item\u003e\n    \u003c/array\u003e\n    \u003carray name=\"colors\"\u003e\n        \u003citem\u003e@android:color/holo_blue_light\u003c/item\u003e\n        \u003citem\u003e@android:color/holo_green_dark\u003c/item\u003e\n        \u003citem\u003e@android:color/holo_red_light\u003c/item\u003e\n        \u003citem\u003e@android:color/holo_purple\u003c/item\u003e\n        \u003citem\u003e@android:color/holo_orange_light\u003c/item\u003e\n    \u003c/array\u003e\n\u003c/resources\u003e\n```\n\nOr use the constructor\n```java\nCircleMenuView(@NonNull Context context, @NonNull List\u003cInteger\u003e icons, @NonNull List\u003cInteger\u003e colors)\n```\nto add `CircleMenuView` and configure the buttons programmatically (in the code).\n\nNext, connect the event handler `CircleMenuView.EventListener` as shown below,\nand override the methods you need.\n\n```java\nfinal CircleMenuView menu = (CircleMenuView) findViewById(R.id.circle_menu);\nmenu.setEventListener(new CircleMenuView.EventListener() {\n    @Override\n    public void onMenuOpenAnimationStart(@NonNull CircleMenuView view) {\n        Log.d(\"D\", \"onMenuOpenAnimationStart\");\n    }\n\n    @Override\n    public void onMenuOpenAnimationEnd(@NonNull CircleMenuView view) {\n        Log.d(\"D\", \"onMenuOpenAnimationEnd\");\n    }\n\n    @Override\n    public void onMenuCloseAnimationStart(@NonNull CircleMenuView view) {\n        Log.d(\"D\", \"onMenuCloseAnimationStart\");\n    }\n\n    @Override\n    public void onMenuCloseAnimationEnd(@NonNull CircleMenuView view) {\n        Log.d(\"D\", \"onMenuCloseAnimationEnd\");\n    }\n\n    @Override\n    public void onButtonClickAnimationStart(@NonNull CircleMenuView view, int index) {\n        Log.d(\"D\", \"onButtonClickAnimationStart| index: \" + index);\n    }\n\n    @Override\n    public void onButtonClickAnimationEnd(@NonNull CircleMenuView view, int index) {\n        Log.d(\"D\", \"onButtonClickAnimationEnd| index: \" + index);\n    }\n});\n```\n\nYou can use `open(boolean animate)` and `close(boolean animate)` methods,\nto open and close menu programmatically\n\nHere are the attributes you can specify through XML or related setters:\n* `button_icons` - Array of buttons icons.\n* `button_colors` - Array of buttons colors.\n* `icon_menu` - Menu default icon.\n* `icon_close` - Menu closed icon.\n* `icon_color` - Menu icon color.\n* `duration_ring` - Ring effect duration.\n* `duration_open` - Menu opening animation duration.\n* `duration_close` - Menu closing animation duration.\n* `distance` - Distance between center button and buttons\n\n\u003cbr\u003e\n\n## 🗂 Check this library on other language:\n\u003ca href=\"https://github.com/Ramotion/circle-menu\"\u003e \n\u003cimg src=\"https://github.com/ramotion/navigation-stack/raw/master/Swift@2x.png\" width=\"178\" height=\"81\"\u003e\u003c/a\u003e\n\u003ca href=\"https://github.com/Ramotion/react-native-circle-menu\"\u003e \n\u003cimg src=\"https://github.com/ramotion/navigation-stack/raw/master/React Native@2x.png\" width=\"178\" height=\"81\"\u003e\u003c/a\u003e\n\n\n## 📄 License\n\nCircle Menu Android is released under the MIT license.\nSee [LICENSE](./LICENSE) for details.\n\nThis library is a part of a \u003ca href=\"https://github.com/Ramotion/android-ui-animation-components-and-libraries\"\u003e\u003cb\u003eselection of our best UI open-source projects\u003c/b\u003e\u003c/a\u003e\n\nIf you use the open-source library in your project, please make sure to credit and backlink to www.ramotion.com\n\n## 📱 Get the Showroom App for Android to give it a try\nTry this UI component and more like this in our Android app. Contact us if interested.\n\n\u003ca href=\"https://play.google.com/store/apps/details?id=com.ramotion.showroom\" \u003e\n\u003cimg src=\"https://raw.githubusercontent.com/Ramotion/react-native-circle-menu/master/google_play@2x.png\" width=\"104\" height=\"34\"\u003e\u003c/a\u003e\n\n\u003ca href=\"https://www.ramotion.com/agency/app-development/?utm_source=gthb\u0026utm_medium=repo\u0026utm_campaign=circle-menu-android\"\u003e\n\u003cimg src=\"https://github.com/ramotion/gliding-collection/raw/master/contact_our_team@2x.png\" width=\"187\" height=\"34\"\u003e\u003c/a\u003e\n","funding_links":["https://paypal.me/Ramotion"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framotion%2Fcircle-menu-android","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Framotion%2Fcircle-menu-android","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Framotion%2Fcircle-menu-android/lists"}