0

我希望我的所有活动都没有过渡动画。我需要overridePendingTranstion(0,0)在每个startActivity()方法之后立即写吗?

4

5 回答 5

2

简短的回答,是的,你必须这样做。

从文档中,

http://developer.android.com/reference/android/app/Activity.html#overridePendingTransition(int, int)

于 2013-10-21T06:56:57.707 回答
1

你可以创造一种风格,

 <style name="noAnimTheme" parent="android:Theme">
   <item name="android:windowAnimationStyle">@null</item>
</style>

并将其设置为清单中活动的主题:

   <activity android:name=".ui.ArticlesActivity" android:theme="@style/noAnimTheme">
    </activity>

您还可以定义样式来指定自定义进入和退出动画。 http://developer.android.com/reference/android/R.attr.html#windowEnterAnimation

于 2013-10-21T06:57:48.317 回答
0

如果您不希望活动之间的动画,那么您需要调用 overridePendingTransition(0,0); 每次。

于 2013-10-21T09:26:53.627 回答
0

在 style.xml 中创建您的自定义主题

<style name="Theme.Transparent" parent="android:Theme">
        <item name="android:windowAnimationStyle">@null</item>
</style>

然后在您的清单活动中定义此主题。

<activity
 android:name="com.packagename.activityname"
android:theme="@style/Theme.Transparent" ></activity>
于 2013-10-21T06:59:15.327 回答
0

如前所述,

开始一个没有过渡动画的新活动

在较新的版本上,您希望在启动活动后不久用 0,0 覆盖转换:

Intent i = new Intent(this, YourNewActivity.class); 
startActivity(i);
overridePendingTransition(0,0);
于 2013-10-21T07:03:09.870 回答