首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在Android中切换没有动画的活动?

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

Stack Overflow用户
提问于 2011-08-07 18:47:06
回答 8查看 140.6K关注 0票数 180

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

代码语言:javascript
复制
    <intent-filter>
        <data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
    </intent-filter>

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

我也可以在代码中使用:

代码语言:javascript
复制
    Intent intent = new Intent(v.getContext(), newactivity.class);
    intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
    getContext().startActivity(intent);

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

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2012-02-16 22:25:00

您可以创建样式,

代码语言:javascript
复制
 <style name="noAnimTheme" parent="android:Theme">
   <item name="android:windowAnimationStyle">@null</item>
</style>

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

代码语言:javascript
复制
   <activity android:name=".ui.ArticlesActivity" android:theme="@style/noAnimTheme">
    </activity>

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

票数 284
EN

Stack Overflow用户

发布于 2014-12-01 20:10:09

试试这段代码,

代码语言:javascript
复制
this.startActivity(new Intent(v.getContext(), newactivity.class).addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION));
票数 55
EN

Stack Overflow用户

发布于 2015-09-02 15:37:42

您也可以在所有不想转换的活动中执行此操作:

代码语言:javascript
复制
@Override
public void onPause() {
    super.onPause();
    overridePendingTransition(0, 0);
}

我喜欢这种方法,因为你不必弄乱你的活动的风格。

票数 27
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6972295

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档