Git Product home page Git Product logo

android-wheel-menu's Introduction

Android Wheel Menu

Example Image

Usage

First download the jar and add it to your project. The exact instructions to include the jar will depend on your specific development environment, IDE etc. You can also add wheel-menu-library as a library project and reference it directly without adding the jar.

Include wheel menu in your layout:

<com.anupcowkur.wheelmenu.WheelMenu
android:id="@+id/wheelMenu"
android:layout_width="300dp"
android:layout_height="300dp" />

Initialize the wheel menu in your activity:

wheelMenu = (WheelMenu) findViewById(R.id.wheelMenu);

//set the no of divisions in the wheel, default is 1
wheelMenu.setDivCount(12);

//set the drawable to be used as the wheel image. If you
//don't set this, you'll get a  NullPointerException.
wheelMenu.setWheelImage(R.drawable.wheel);

That's it!

Now, to get the currently selected position simply call:

wheelMenu.getSelectedPosition();

or, you can set a listener to monitor change events like so:

wheelMenu.setWheelChangeListener(new WheelMenu.WheelChangeListener() {
@Override
public void onSelectionChange(int selectedPosition) {
      //do your thing
    }
});

wheel positions will start from 0.

####snap-to-center

This flag is set to true by default. If true, crossing into a division will cause the wheel to auto-align itself to the center of the division. Otherwise, the wheel will just hang around wherever the user left it. You can change it by calling:

wheelMenu.setSnapToCenterFlag(false)

####Changing the top position

You can also make any arbitrary div in the wheel to be the "top" postion by calling

wheelMenu.setAlternateTopDiv(int);

For instance, if you call wheelMenu.setAlternateTopDiv(6) then the sixth div will now be considered as the "top" and all calculations from that point on will reflect this. This can be useful in situations such as when you want the bottom div or right div of the wheel to be the selected position.

A caveat with this is that you have to call this method after the call to setDivCount(int) . If you call it before, then your new top position will be ignored and the top will still be 0.

Sample

Check out the sample application to see it in action!

Contributing

Contributions welcome via Github pull requests.

License

This project is licensed under the MIT License. Please refer the License.txt file.

android-wheel-menu's People

Contributors

alexismo avatar anupcowkur avatar

Watchers

 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.