我只是看了一下twitter应用程序,它似乎在从一个屏幕移动到另一个屏幕时有一个很好的滑动过渡。我试图在我的应用中获得相同的行为。
目前我在屏幕之间移动:
startActivityForResult(new Intent(getApplicationContext(), MyActivity.class), 1);
但这种方式屏幕之间没有过渡。 MyActivity
只会弹出屏幕。
答案 0 :(得分:5)
有drawables的动画:
This tutorial可能会帮助您了解其工作原理。首先,您应该在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()
方法调用drawable并将它们应用于 startActivity()(或 startActivityForResult())方法:
startActivityForResult(new Intent(getApplicationContext(), MyActivity.class), 1);
overridePendingTransition(anim_left_to_right, anim_right_to_left);
相对于生命周期的自定义动画:
您也可以制作自定义动画,&#34;无论使用startActivity方法&#34;还是使用活动的生命周期:当您将输入动画调用到Vine
时,我的意思是onCreate()
将动画输出到onPause()
。关于此类功能,这是a great demo。
答案 1 :(得分:3)
在调用startActivity()后调用 overridePendingTransition(entry_anim, exit_anim)
。
您可以通过xml指定进入和退出动画。