无动画切换活动

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (31)

如何正确使用意图标志?FLAG_ACTIVITY_NO_ANIMATION在AndroidManifest的档案里?

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

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

我也可以在代码中使用:

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

但是我想在Android的宣言中使用这个标志。若要禁用动画,也要防止从第二次活动返回到第一次活动。

提问于
用户回答回答于

你可以创造一种风格,

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

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

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

还可以定义样式来指定自定义的输入和退出动画。

用户回答回答于

如果上下文是一个可以调用的活动过载过渡:

在startActivity(意图)或Finish的样式之后立即调用,指定要执行下一步的显式转换动画。

因此,以编程方式:

this.startActivity(new Intent(v.getContext(), newactivity.class));
this.overridePendingTransition(0, 0);

扫码关注云+社区