4

我刚刚看了推特应用程序,从一个屏幕移动到下一个屏幕时,它似乎有一个很好的滑动过渡。我试图在我的应用程序中获得相同的行为。

目前我在屏幕之间移动:

startActivityForResult(new Intent(getApplicationContext(), MyActivity.class), 1);

但是这样画面之间就没有过渡了。刚刚出现MyActivity在屏幕上。

4

2 回答 2

5

带有drawable的动画:

本教程可能会帮助您了解它的工作原理。首先,您应该创建一个以文件夹命名anim/res/文件夹。然后,创建并放入drawables其中将用于制作过渡动画的内容,如下所示:

anim_left_to_right.xml

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

anim_right_to_left.xml

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

然后,使用overridePendingTransition()方法调用可绘制对象并将它们应用到startActivity()(或startActivityForResult())方法:

startActivityForResult(new Intent(getApplicationContext(), MyActivity.class), 1);
overridePendingTransition(anim_left_to_right, anim_right_to_left);

与生命周期相关的自定义动画:

您还可以制作自定义动画,“不管 startActivity 方法”,但在使用活动的生命周期时:我的意思是Vine当您调用输入动画进入onCreate()和输出动画进入时onPause()。这是关于这种功能的一个很好的演示。

于 2014-05-10T13:41:53.070 回答
3

调用overridePendingTransition(entry_anim, exit_anim)startActivity() 后调用。

可以通过xml指定进出动画。

于 2014-05-10T13:28:46.250 回答