Android меняет активность с помощью касания - PullRequest
3 голосов
/ 09 декабря 2011

Мне интересно, как я могу реализовать в приложении следующее поведение: изменение действий в приложении с помощью жеста, аналогичного смене экранов на рабочем столе.

Допустим, я нахожусь в упражнении B, и если я сделаю поворот слева направо (--->), я попаду в упражнение C, а если я сделаю это справа налево, я получу упражнение A. С классной анимацией, как при переключении экранов.

Есть идеи?

Спасибо!

Ответы [ 4 ]

0 голосов
/ 09 декабря 2011

Лучше перенести код активности на фрагменты.

Вы можете думать о фрагменте как о модульном разделе деятельности, который имеет свой собственный жизненный цикл, получает свои собственные входные события и который вы можете добавлять или удалять во время выполнения действия (что-то вроде «вспомогательного действия»). что вы можете повторно использовать в различных видах деятельности.

В противном случае вы также можете использовать ViewFlipper в зависимости от ваших требований

0 голосов
/ 09 декабря 2011

для изменения активности вы можете сделать это одним способом (обратите внимание, анимация не реализована в этом), внедрив метод активности onTouch (), теперь отслеживая событие down, получайте текущее местоположение касания и при перемещении устанавливайте флаг для события move, если вынажмите и переместите, а затем только изменить.Теперь в событии up получите текущее местоположение касания и сравните его.

Если местоположение события up было меньше, чем местоположение события down, тогда начните действие A, если местоположение события up было больше, чем местоположение события down, тогда запустите действиеC

0 голосов
/ 09 декабря 2011

Если вы хотите реализовать что-то похожее в новом приложении Google+, вы можете посмотреть ViewPager и одну из ViewPagerIndicator реализаций, например эту (которую я уже успешно использовал) или этот (который я собираюсь проверить на выходных).

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

0 голосов
/ 09 декабря 2011

Это будет трудно реализовать, но вы можете попробовать поймать сенсорные события в представлениях вашего действия B и запустить действия A или C.

Здесь - хорошая инструкция по анимации действий.

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