8

我正在开发一个具有三个非常相似的活动的 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);
 }

它有效,但我对此并不完全满意。此外,我不知道这是否是正确的方法。

在切换桌面时,我希望有一种类似于家庭应用程序的行为。因此,我想要一个更流畅的动画和从正确方向显示被调用活动的外观,例如。向右滑动时从屏幕左侧。

有什么提示吗?非常感谢你。

4

2 回答 2

4

主屏幕不会在活动之间滚动,它只会在不同的视图之间滚动,正如您在其源代码中看到的那样(第 298 行是更改屏幕的位置)。

如果您在活动之间切换,那么您将受用户配置和设备能力的支配,以了解在过渡期间显示器会发生什么,因此您无能为力。

于 2010-07-10T10:29:33.463 回答
1

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

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

于 2010-07-10T10:23:31.543 回答