Android:如何切换活动,如在家庭应用程序中切换桌面?

时间:2010-07-10 10:08:54

标签: android user-interface android-activity effects swipe

我正在开发一个Android应用程序,它有三个非常相似的活动。我希望用户能够通过在屏幕上左右滑动来切换它们。 这就是我迄今为止管理的方式:

我遵循了post

然后我以这种方式更改了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 个答案:

答案 0 :(得分:4)

主屏幕不会在不同视图之间滚动的活动之间滚动,如its' source code所示(第298行是屏幕更改的位置)。

如果你在活动之间切换,那么你将受到用户配置的影响。设备能够了解过渡期间显示屏会发生什么,因此您无法做很多事情。

答案 1 :(得分:1)

虽然最好将它们作为三个单独的活动,但我看到人们使用ViewFlipper在单个Activity中实现类似的效果。

这是一个链接,其中包含更多相关信息: http://www.inter-fuser.com/2009/07/android-transistions-slide-in-and-slide.html