3

所以我注意到 Android 会在活动之间产生轻微的褪色,这真的让我很烦恼,我想知道是否有任何方法可以摆脱它,让它在没有动画的情况下“捕捉”到下一个屏幕?

我环顾四周,但找不到任何能真正回答我问题的东西。我假设它将是基于 XML 的,但我看到这个人在这里试图以编程方式进行操作: 我如何消除 LayoutTransition 动画之前的延迟但做他所做的事情(应用“空白”动画)似乎没有改变任何东西。

有什么能指出我正确的方向吗?塔!

4

2 回答 2

3

最优雅的控制是使用样式和主题实现的。通过这种方式,您可以逐个ApplicationActivity逐个地控制它。

styles.xml(WhateverTheme作为您为应用程序隐式或显式选择的 Android 主题):

<resources
    xmlns:android="http://schemas.android.com/apk/res/android" >

    <style
        name="MyWhateverTheme"
        parent="@android:style/WhateverTheme">
        <item name="android:windowAnimationStyle">@style/MyActivityAnim</item>
    </style>

    <style
        name="MyActivityAnim">
        <item name="android:windowEnterAnimation">@null</item>
        <item name="android:windowExitAnimation">@null</item>
    </style>
</resources>

当然,你也可以@animation这样指定custom。

在您的 Manifest.xml 中:

    <application
        android:theme="@style/MyWhateverTheme" >

并将其更改为特定的Activity

        <activity
            android:theme="@style/SomeOtherTheme" >
于 2013-04-25T04:56:56.083 回答
2

使用FLAG_ACTIVITY_NO_ANIMATION

Intent i = new Intent(this, nextActivity.class);
i.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(i);
于 2013-04-25T04:49:43.380 回答