2012-05-17 83 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