Android: как переключаться между такими действиями, как переключение рабочих столов в домашнем приложении? - PullRequest
8 голосов
/ 10 июля 2010

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

Я подписался на эту запись

Затем я изменил метод onSwipe () следующим образом:

@Override
 public void onSwipe(int direction) {
  Intent intent = new Intent();

  switch (direction) {

  case SimpleGestureFilter.SWIPE_RIGHT:
   intent.setClass(this, TodoTodaySheet.class);
   break;
  case SimpleGestureFilter.SWIPE_LEFT:
   intent.setClass(this, TrashSheet.class);
   break;

  }
  startActivity(intent);
 }

Это работает, но я не совсем доволен этим. Более того, я не знаю, правильный ли это подход.

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

Есть намеки? Большое спасибо.

Ответы [ 2 ]

4 голосов
/ 10 июля 2010

Главный экран не прокручивает между действиями, он только прокручивает между различными представлениями, как вы можете видеть в его 'исходном коде (строка 298 - это место, где меняются экраны).

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

1 голос
/ 10 июля 2010

Хотя, вероятно, лучше иметь их как три отдельных действия, я видел, как люди используют ViewFlipper для достижения аналогичного эффекта в одном действии.

Вот ссылка с дополнительной информацией об этом: http://www.inter -fuser.com / 2009/07 / андроид-Transistions-слайд-в-и-slide.html

...