0

我一直在尝试替换默认的活动过渡动画,但没有任何成功。

我已经定义了自己的进入和退出动画,并且在启动新活动的回调中我有以下代码:

public void goFetchCallback(View view)
{
    Intent intent = new Intent(this, RecipiesActivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    startActivity(intent);
    overridePendingTransition(R.anim.entryanim,R.anim.exitanim);
}

不幸的是,这不起作用,我不知道为什么。

我在带有 ICS 的摩托罗拉 Xoom 上运行它。

我还尝试通过使用如下自定义样式来禁用默认动画:

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

并将其分配给 Manifest.xml 中的应用程序,但再次没有成功。

有人可以帮忙吗?

谢谢

4

1 回答 1

0

问题不在于禁用动画的代码。问题在于动画本身。事实上,它与 Xoom 的默认动画几乎相同,因此造成了混乱。

为了完整起见,我发布了禁用动画以及进入和退出动画的代码。他们实现了从右到左的动画以及一些褪色。

调用活动时:

Intent intent = new Intent(this, RecipiesActivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(intent);
overridePendingTransition(R.anim.entryanim,R.anim.exitanim);

入门动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">

    <translate 
        android:fromXDelta="100%"
        android:toXDelta="0%"
        android:duration="1000"
        android:interpolator="@android:anim/accelerate_decelerate_interpolator"/>
    <alpha
        android:fromAlpha="0"
        android:toAlpha="1"
        android:interpolator="@android:anim/accelerate_interpolator" 
        android:duration="1000"/>
</set>

和退出动画:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:shareInterpolator="false">

    <alpha 
        android:fromAlpha="1"
        android:toAlpha="0"
        android:duration="1000"
        android:interpolator="@android:anim/accelerate_interpolator"/>
</set>
于 2012-09-15T21:46:26.607 回答