Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Добрый день,

Нужна отдельная ViewGroup (далее А), которую можно добавить в layout Андроид приложения, которая будет отвечать следующим требованиям:

1) Можно добавить дочернюю самую обычную кнопку, которая будет иметь некую свою логику.

2) Можно добавить кнопку (Б) (которую необходимо реализовать),по нажатии на которую из-под А выплывает панель (ViewGroup, назовем ее В) с кнопками.

3) При инициализации в коде можно панели В задать список CustomButton, интерфейс, который имеет методы getIcon(), action(), первый - возвращает иконку, второй - выполняет действие, по нажатию на кнопку.

4) Скорости анимации открытия закрытия панели В зашиты константами в реализации.

5) При многократном нажатии на кнопку, которая отвечает за скрытие\открытие панели не должно быть артефактов, а панель должна начать двигаться в обратном направлении с того момента, на котором остановилась.

6) В панели А могут быть несколько кнопок Б по нажатии на которые будут выдвигаться разные панели.

7) Если возможно предусмотреть возможность делать панель А частично прозрачной, так, чтобы при выдвигании панели В ее не было видно за кнопками на панели А.

8) Панель В также имеет постоянную кнопку +, по нажатии на которую показывается диалог, гед можно выбрать одну из заранее заготовленных реализаций интерфейса CustomButton, которая имеет своб картинку и action().

9) При сохранении изменений в п.8. кнопка немедленно появляется в панели В с анимацией (кнопка появляется между последней иконкой и плюсиков там, что иконки и плюс "разъезжаются в стороны").

10) Надо предусмотреть, что иконок быть много - нужен скроллинг.

11) Можно лонгтапом на любую иконку кроми плюсика и удержании войти в "режим редактирования" - аналогично перетаскиванию табов в верхней панели табов в браузерах. Вместо плюсика появляется "корзина", иконку, на которой был начат лонгтап можно перетащить на новое место (происходит анимация смены мест с той, над которой идет перемещение, если дотащили до корзины и отпустили, то эта иконка удаляется и вызывается соотвествующий callback (интерфейс листнера нужно создать и иметь возможность установить его для панели). В callback передастся интерфейс CustomButton.

При отпускании не на корзине - "режим редактирования" прекращается, иконка, возвращается на новое (или свое, если не была передвинута) место - анимированно, т.е. не прыгает на место, а перелетает на него.

Пример:

http://dimlix.com/screens/2014_09_d.png

1,2,3 - кнопки на панели А, одна или больше из них могут быть такими, по нажатии на которую выедет панель.

4 - кнопка плюсика,

5 - уже созданные иконки.

Панель с 1,2,3 - полупрозрачная, но, если возможно при выезжании снизу панели логотипы не должны "просвечиваться" через панель А.

Просьба оставлять заявки с примерным сроком и бюджетом.

10 лет назад
hum111
34 годаРоссия
16 лет в сервисе
Был
3 месяца назад