Подтвердить что ты не робот

Как сделать вращающееся меню

У меня вопрос о вращении меню в android. Я хотел бы сделать анимированное меню движущимся, как цилиндр пистолета.

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

Где 1-6 являются ImageButtons, и кнопки вращаются по часовой стрелке или против часовой стрелки в зависимости от того, как вы касаетесь экрана. Я знаю, как разместить ImageButtons и т.д., Но я никогда не делал анимированное меню, всегда статичным. Если вы можете мне помочь, я буду очень благодарен.

4b9b3361

Ответ 1

Я думаю, вы можете сделать это, используя

1) здесь находится библиотека для вращающегося меню https://github.com/dmitry-zaitsev/CircleLayout

2) используйте вид карусели и установите глубину z в соответствии с вашим требованием http://www.codeproject.com/Articles/146145/Android-3D-Carousel

3) следуйте за этим созданием кругового представления в андроиде

Ответ 2

Лучшее, что я реализовал, это Circle Menu. Эта простая реализация меню кругов для приложений Android выглядит следующим образом...

введите описание изображения здесь

Загрузить пакет...

Maven repo:

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

или Gradle:

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

Android-CircleMenu требует Android 4.0.

Ответ 3

Я сам рассматривал нечто подобное этому.

Посмотрите на флиппер представления, который можно использовать для переключения между представлениями с помощью жестов салфетки, возможно, есть способ добавить поворот к анимации ввода/выхода просмотров.

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

Ответ 4

Создайте свой собственный макет, расширяя ViewGroup и переопределите методы OnMeasure и OnLayout. Там вы можете позиционировать свои кнопки самостоятельно. Слушайте события касания в своем настраиваемом макете и обрабатывайте эту информацию в указанных методах.

Посмотрите FlowLayout. Это не то, что вы ищете, но вы должны понять, что вам нужно делать OnLayout и OnMeasure.

Удачи.