Coder Social home page Coder Social logo

android-circlemenu's Introduction

Circle Menu

This is a simple implementation of a circle menu to be used in Android applications.

Screenshots

Circle menu screenshot

Basic usage

The files you will need:

CircleMenuLib/src/com/szugyi/circlemenu/view/CircleLayout.java
CircleMenuLib/src/com/szugyi/circlemenu/view/CircleImageView.java
CircleMenuLib/res/values/attrs.xml

You can copy and paste them into your project, or import the library project. Do not forget to reference this project as a library project if you choose the second way to use the files.

Attributes

  • firstChildPosition ([East, South, West, North]) - The angle where the first child of the CircleLayout will be put. Possible values are: East - to the right, South - to the bottom, West - to the left, North - to the top. Default: South
  • isRotating (boolean) - Determines wether the child views are rotatable or not. If this attribute is set to false then the rotateToCenter attribute will also be false. Deafult: true
  • speed (integer) - You can set the speed of the rotation. NOTE: The higher the value, the faster the rotation. Values between 10 - 500 should work well. Default: 25
  • circleBackground (integer) - The background image's resource to be used for the CircleLayout.

EventListeners

  • OnItemClickListener - Called when a child view is tapped. If the isRotating attribute is set to true, then called only if the tapped view is already on the firstChildPosition.
  • OnItemSelectedListener - If the isRotating attribute is set to true, then it is called when the view is rotated to the firstChildPosition. Otherwise it is called with the OnItemClickListener when the child is tapped.
  • OnCenterClickListener - Called when the center of the CircleLayout is tapped.
  • OnRotationFinishedListener - If the isRotating attribute is set to true, then it is called when the rotation is finished, and passes the view and the name of the view which is on the firstChildPosition. Otherwise it is never called.

Credits

Special thanks to Balázs Varga, who helped me during the first implementations of this custom view.

A lot of code snippets have been used from this great tutorial: http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-a-rotating-dialer/

The icons used in the example app are from: http://flaticons.net/

Colors from: http://flatuicolors.com/

android-circlemenu's People

Contributors

szugyi avatar adelriosantiago avatar sungerk avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.