Вопрос об Android-интерфейсе. Руководство по внедрению - PullRequest
9 голосов
/ 24 мая 2011

Я работаю над реализацией пользовательского интерфейса для приложения Android, и я хотел спросить, есть ли уже что-то в родных виджетах, чтобы выполнить большую часть того, что я пытаюсь сделать.

Приложение, над которым я работаю, выполняет 15 различных задач, которые можно разделить на 3 разные группы. (5 заданий на группу) У меня есть 18 изображений значков (3 для групп и 15 для отдельных заданий), и я хочу иметь возможность группировать эти значки (начиная с групп) следующим образом:

enter image description here

Я хочу, чтобы следующий значок был виден ниже и выше (если дальше, чем первый значок) и проведите пальцем, чтобы перейти к следующему значку

enter image description here

После нажатия на значок панели сдвигаются в сторону, открывая следующий слой (конкретные 5 задач для выбранной группы) с выбранной группой, все еще видимой на стороне:

enter image description here

Оттуда пользователь сразу может сказать, в какую группу он входит, каковы текущие, следующие и предыдущие выбираемые задачи, и что, проведя вправо, они могут вернуться к выбору группы.

Какие типы виджетов мне нужно изучить, чтобы выполнить что-то подобное? Есть ли уже готовые списки для выполнения этих действий?

Спасибо за любые советы!

Ответы [ 4 ]

6 голосов
/ 24 мая 2011

Вы можете приблизиться к LinearLayout из ImageView виджетов и ScrollView (по вертикали) или HorizontalScrollView.Однако, он не даст вам желаемого эффекта «центрированное изображение с битами предыдущих / следующих изображений» - он будет там, где его позиционирует пользователь.

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

Если это так, как вы это описываете, вам придется свернуть это самостоятельно.Жесты и анимация должны дать вам желаемый эффект.

0 голосов
/ 07 июня 2011

Вы смотрели на ViewFlipper?http://developer.android.com/reference/android/widget/ViewFlipper.html Это даст побочный эффект, но вам нужно будет создать собственные представления для каждой группы, чтобы заполнить ее соответствующими значками.

0 голосов
/ 07 июня 2011

Я бы использовал ListActivity для первых 3 элементов верхнего уровня.Это не даст вам эффекта автоцентрирования, который вам, вероятно, понадобится, но вы сможете посмотреть исходный код галереи, который можно найти здесь , и внести некоторые изменения в ListActivity, чтобычто это автоцентры.

Для следующих элементов я бы добавил onClick и GestureListener, чтобы вы могли перейти к другому действию с другим представлением списка.Так как вы знаете, откуда вы пришли (добавьте некоторые данные в ваше намерение), вы можете установить цветной прямоугольник слева, чтобы выглядело, как будто вы только что провели пальцем по всему виду.

Если вам нужно настроитьанимацию, вы можете вызвать это:

overridePendingTransition(R.anim.slide_left_entry, R.anim.slide_left_exit);

Чтобы желтый значок выглядел хорошо при анимации слева, я бы изменил границы списка (в первом упражнении), чтобы не было полей, и изменил быжелтый значок с прямоугольными правыми краями - маленький желтый прямоугольник в следующем упражнении будет казаться частью первого действия.

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

Удачи!

РЕДАКТИРОВАТЬ: Хорошо, поэтому я сделал базовый проект, который выполняет большую часть того, что вы хотите. здесь - ссылка на файл проекта eclipse.Я собирался выложить источник здесь, но есть что показать.

Что вам еще нужно сделать:

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

Я думаю, что я выполнил основной материал.Я также добавил слушателя жестов, о котором говорил, хотя, перечитывая ваш вопрос, вы на самом деле не просили об этом.Так как это круто, я оставил это.

Удачи еще раз !!

0 голосов
/ 04 июня 2011

Задумывались ли вы о запуске операций с различными конфигурациями представления?Вы можете жестом переключаться с одного занятия на другое и анимировать представления.Мне кажется, что ваш пользовательский интерфейс - это набор экранов с дополнительными возможностями, которые показывают другие экраны.Так что одно действие на экран может быть одинаковым в разных конфигурациях или что-то в этом роде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...