我剛剛查看了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