circle-menu

Additional

Language
Kotlin
Version
1.2 (Nov 26, 2020)
Created
Nov 22, 2020
Updated
Nov 26, 2020 (Retired)
Owner
Alok Verma (alokverma)
Contributor
Alok Verma (alokverma)
1
Activity
Badge
Generate
Download
Source code

circle-menu

This is a view group in which you can pass list of menu items and those items will be drawn under circular path.

Sample Apk

https://github.com/alokverma/circle-menu/blob/main/app/apk/app-debug.apk

Demo

How to Use

To get a Git project into your build:

Step 1. Add the JitPack repository to your build file

gradle

Add it in your root build.gradle at the end of repositories:

allprojects {
 repositories {
  ...
  maven { url 'https://jitpack.io' }
 }
}

Step 2. Add the dependency

dependencies {
        implementation 'com.github.alokverma:circle-menu:1.2'
}

Code

   <com.akki.circlemenu.CircleMenu
      android:id="@+id/circle_menu"
      android:layout_width="match_parent"
      android:layout_height="match_parent"
      app:menu_background_color="@array/menu_back_colors"
      app:menu_close_duration="300"
      app:menu_icons="@array/menus"
      app:menu_open_duration="400"
  app:menu_orientation="circle"
      app:menu_radius="100dp">

Attributes that you can use to customize this view group

  app:menu_icons = arrays of vector/png menu items
  app:menu_background_color = array of background tint for those menus
  app:menu_open_duration = open animation duration of circle
  app:menu_close_duration = close animation duration of circle
  app:menu_radius= radius of circle
  app:menu_orientation="circle|vertical|half_circle|arc_left|arc_right"

In your activity/fragment, you can pass setOnMenuItemClickListener and you can get all menu item click event in onMenuItemClicked function.

  CircleMenu.setOnMenuItemClickListener(this)
  override fun onMenuItemClicked(id: Int) {
    when (id) {
        R.drawable.ic_baseline_delete_forever_24 -> showToast("Delete Button clicked")
        R.drawable.ic_baseline_person_search_24 -> showToast("Person Button clicked")
        R.drawable.ic_baseline_settings_24 -> showToast("Setting Button clicked")
        R.drawable.ic_baseline_edit_location_24 -> showToast("Location Button clicked")
    }
}

You can connect me at

LinkedIn  

If you like my work, please give it a star and let me know if you facing any query while implementing this.