Я разрабатываю Приложение 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);
}
Это работает, но я не абсолютно удовлетворен этим. Кроме того, я не знаю, является ли это корректным подходом.
Я хотел бы иметь поведение как то на Домашних приложениях при переключении рабочего стола. Поэтому я хотел бы более гладкую анимацию и появление названного действия от правильного направления, например, от левой стороны экрана при сильном ударе справа.
Какие-либо подсказки?Большое спасибо.
Домашний экран не прокручивается между действиями, он только прокручивается между различными представлениями, как вы можете видеть в его исходном коде (строка 298 - это место, где меняются экраны).
Если вы переключаетесь между действиями, вы зависите от конфигурации пользователя и возможностей устройств относительно того, что происходит с дисплеем во время перехода, поэтому вы мало что можете сделать.
Хотя, вероятно, лучше всего располагать их как три отдельных Activity, я видел, как люди используют ViewFlipper для достижения аналогичного эффекта в одной Activity.
Вот ссылка с более подробной информацией о нем: http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html