Android中的新活动“从侧面进入”

去一个新的活动的最好方法是什么,但看起来像活动滑到左侧,新的活动进入屏幕? 我正在使用意图来调用新的活动,是这样做,如果我想要的应用程序是轻量级的?

为了更好地解释一下:在我的Android手机上,我可以用家里的大拇指向右滑动视图,然后从左侧input朋友stream,并在屏幕上进行。 我想用buttonclicks在我的应用程序中执行它,这是我之后的“滑动”。 谢谢!

在Android操作系统2.1或更高版本中,我认为你可以使用OverridePendingTransition()方法来提供你正在寻找的活动animation之间的转换。

首先,在/ res / anim /中定义一些animation资源。 这是一个名为right_slide_out.xml的文件

<?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator"> <translate android:fromXDelta="0" android:toXDelta="100%p" android:duration="500" /> </set> 

另一个叫right_slide_in.xml

 <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_decelerate_interpolator"> <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="700" /> </set> 

然后,当您开始新的活动时,请使用OverridePendingTransition方法,如下所示:

 startActivity(intent); overridePendingTransition (R.anim.right_slide_in, R.anim.right_slide_out); 

这应该处理启动活动的过渡animation。

相反,当这个活动结束,你回到原来的那个,它有点雾。

如果你有一些结束这个活动并调用Activity.finish()的UI控件,那么你可以在这之后添加overridePendingTransition()。

要处理用户通过按下后退button结束活动的情况,请使用以下内容:

 @Override public void onBackPressed() { this.finish(); overridePendingTransition (R.anim.right_slide_in, R.anim.right_slide_out); } 

是的,使用意图是启动另一项活动的标准方式,通常是您提到的滑动事项。 例如startActivity(new Intent(this,myNextActivity.class)); 会做的。

杰姆斯是正确的。 默认情况下,启动一个新的意图时,你会得到一个滑动animation。

如果您正在寻找更多的自定义animation,可以使用overridePendingTransition 。 请记住它是在API Level 5中添加的。请参阅此API演示以了解示例用法。

您可以使用left_slide_out.xml(只需在Josh的right_slide_out.xml中更改toXDelta以读取-100%的p),以使旧的活动消失到左侧(并且在两个animation上也具有相同的持续时间)。