2012-05-17 81 views
2

我是Android新手。當我打開一個新的活動時,我需要爲開場活動創建一個淡入淡出的動畫。例如:目前我處於活動「A」中,現在我想通過點擊按鈕打開另一個活動「B」。現在我可以在沒有任何動畫的情況下打開活動但我想給出一個淡入淡出的動畫。現在,下面的代碼用於打開一個活動。淡入淡出動畫

Intent profileActivity = new Intent(Login.this, Profile.class); 
startActivityForResult(profileActivity, 0); 

這裏「profileActivity」應該用Fade In動畫打開。我可以在上面的代碼中製作一個動畫。

在此先感謝。

+0

Similar questions:http://stackoverflow.com/questions/2651360/how-to-provide-animation-when-calling-another-activity-in-android,http://stackoverflow.com/questions/3389501/activity-transition-in-android – kgiannakakis

回答

0

Android Animation

U可以把你帶進度條的歡迎頁面上的鏈接將幫助你如何在活動中添加動畫

6

此行只需添加到您的通話意圖:

overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 

它看起來像這樣:

Intent intent = new Intent(ActivityA.this, ActivityB.class); 
     startActivity(intent); 
     overridePendingTransition(R.anim.slide_in_left, R.anim.slide_out_left); 

然後在你的 「資源」 文件夾中創建一個 「動畫」 文件夾並添加這2個XML文件

slide_in_left.xml

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

slide_out_left.xml

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

正如你可以看到我m只是做一個翻譯動畫,如果你想添加淡化效果只需添加

android:fromAlpha="0.0" android:toAlpha="1.0" 

Hope我會幫你的。

+0

我認爲「overridePendingTransition」正在最新的API中使用。我對嗎? –

+0

在我的應用程序我正在使用android api版本2.2這是公平的,我認爲。 – moujib

+0

好的moujib,謝謝。試過這個之後,我會讓你知道這些評論。再次感謝您的幫助。 –

7

這是動畫漸變的代碼 R.anim.fade

<alpha xmlns:android="http://schemas.android.com/apk/res/android" 
      android:interpolator="@android:anim/accelerate_interpolator" 
      android:fromAlpha="0.0" android:toAlpha="1.0" 
      android:duration="@android:integer/config_longAnimTime" /> 
2

感謝@moujib答案,我從來不知道之前。我所做的是在第二個活動開始後立即手動應用動畫。使用overridePendingTransition()會更清晰(它可以在api 5或更高版本中使用)。除了@moujib回答,你不必定義自己的動畫淡入淡出,因爲Android已經定義了它。看看這裏http://developer.android.com/reference/android/R.anim.html

+0

不勝感謝您指出這一點。 – moujib

+0

啊。該開發者鏈接很有幫助。謝謝。我幾乎正在考慮檢查API SDK示例項目。 :) – Sufian