How to make rotating menu

2019-01-13 19:26发布

I have a question about rotating menu in android. I would like to make animated menu moving like gun cylinder.

http://i.imgur.com/COb8a.png

Where 1-6 are ImageButtons, and the buttons are rotating clockwise or countercw depending on how you touch the screen. I know how to place the ImageButtons etc. but i never made animated menu, always static. If you can help me i'd be very appreciated.

4条回答
成全新的幸福
2楼-- · 2019-01-13 19:36

I was considering something similar to this myself.

Have a look into the view flipper, which can be used to switch between views with a swipe gesture, perhaps there is a way to add rotation to the entry/exit animation of the views.

http://developingandroid.blogspot.co.uk/2009/09/implementing-swipe-gesture.html

查看更多
Bombasti
3楼-- · 2019-01-13 19:38

I think you can do this by using

1) here is library for rotating menu https://github.com/dmitry-zaitsev/CircleLayout

2) use carousel view and set z depth according to your requirement http://www.codeproject.com/Articles/146145/Android-3D-Carousel

3) follow this creating a Circular view in android

查看更多
贼婆χ
4楼-- · 2019-01-13 19:44

The best which I have implemented is the Circle Menu. This simple implementation of a circle menu for Android applications looks like the following screenshot ...

enter image description here

To download the package ...

Maven repo:

<dependency>
    <groupId>com.github.szugyi</groupId>
    <artifactId>Android-CircleMenu</artifactId>
    <version>2.0.0</version>
</dependency>

or Gradle:

compile 'com.github.szugyi:Android-CircleMenu:2.0.0'

Android-CircleMenu requires Android 4.0.

查看更多
再贱就再见
5楼-- · 2019-01-13 19:46

Create your own layout extending ViewGroup and override OnMeasure and OnLayout methods. There you can position your buttons yourself. Listen for touch events in your custom layout and process this information in mentioned methods.

Have a look at FlowLayout implementation. It isn't what you are looking for, however it should get you started to understand what you actually need to do OnLayout and OnMeasure.

Good luck.

查看更多
登录 后发表回答