小编典典

如何在Android中切换没有动画的活动?

all

如何正确使用FLAG_ACTIVITY_NO_ANIMATIONAndroidManifest 文件中的 Intent
标志?我想我的问题是微不足道的,但我找不到好的例子或解决方案。

    <intent-filter>
        <data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
    </intent-filter>

然而,编译器没有报告错误,但data不正确。我只想禁用动画以防在活动之间切换。我可以getWindow().setWindowAnimations(0);
onCreate 或 onResume 中使用,但使用 flag 是更好的方法,不是吗?

我也可以在代码中使用:

    Intent intent = new Intent(v.getContext(), newactivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    getContext().startActivity(intent);

但我想在 Android Manifest 中使用这个标志。在从第二个活动返回到第一个活动的情况下也禁用动画。


阅读 68

收藏
2022-08-05

共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

2022-08-05