我刚刚查看了Twitter应用程序,它在从一个屏幕移动到另一个屏幕时似乎有一个很好的滑动转换。我试图在我的应用中获得相同的行为。如何使用动画从一个屏幕切换到另一个屏幕
目前我屏幕之间移动使用:
startActivityForResult(new Intent(getApplicationContext(), MyActivity.class), 1);
但这种方式有画面之间没有过渡。屏幕上弹出MyActivity
。
我刚刚查看了Twitter应用程序,它在从一个屏幕移动到另一个屏幕时似乎有一个很好的滑动转换。我试图在我的应用中获得相同的行为。如何使用动画从一个屏幕切换到另一个屏幕
目前我屏幕之间移动使用:
startActivityForResult(new Intent(getApplicationContext(), MyActivity.class), 1);
但这种方式有画面之间没有过渡。屏幕上弹出MyActivity
。
动画与绘图资源:
This tutorial可能会帮助你了解它是如何工作的。首先,您应该在/res/
文件夹中创建一个名为anim
的文件夹。然后,创建并投入它的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);
自定义动画相对于生命周期:
您还可以自定义动画 “无论startActivity方法”,但在使用活动的生命周期:我的意思是当您将输入动画调用为onCreate()
并将输出动画调用为onPause()
时,就像Vine
。这是关于这种功能的a great demo。
可能的重复http://stackoverflow.com/questions/12092894/animated-transition-between-an-activity-and-another – Abdellah