【发布时间】:2014-03-29 10:24:35
【问题描述】:
我是安卓新手。
就我而言,当我们使用这样的意图开始活动时:
Intent masuk=new Intent(getApplicationContext(),Destination.class);
startActivity(masuk);
它会产生一种效果(不管它叫什么)。在我的程序中,我想让这种效果消失。 你能告诉我正确的方法吗?
【问题讨论】:
标签: android android-intent effect
我是安卓新手。
就我而言,当我们使用这样的意图开始活动时:
Intent masuk=new Intent(getApplicationContext(),Destination.class);
startActivity(masuk);
它会产生一种效果(不管它叫什么)。在我的程序中,我想让这种效果消失。 你能告诉我正确的方法吗?
【问题讨论】:
标签: android android-intent effect
你可以使用intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
文档说 -
public static final int FLAG_ACTIVITY_NO_ANIMATION
如果在传递给 Context.startActivity() 的 Intent 中设置,此标志将阻止系统应用活动转换动画以进入下一个活动状态。
这并不意味着动画永远不会运行——如果在显示此处开始的活动之前发生另一个未指定此标志的活动更改,则将使用该转换。当您要进行一系列活动操作时,可以很好地使用此标志,但用户看到的动画不应由第一个活动更改驱动,而是由稍后的活动更改驱动。
就这么简单,
Intent masuk=new Intent(getApplicationContext(),Destination.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
startActivity(masuk);
【讨论】:
在你的 startActivity() 之后调用这个 Activity 方法;
overridePendingTransition(0, 0);
应用将在下一个 Activity 中移动,没有任何过渡
【讨论】:
如果您想移除所有 Activities 过渡的动画,而不是为每次更改调用一行代码,您可以在您的应用主题中进行设置:
<style name="AppBaseTheme" parent="android:Theme.Light">
<item name="android:windowAnimationStyle">@null</item>
</style>
然后在你的 Manifest 中设置主题:
<application
android:theme="@style/AppBaseTheme" >
...
</application>
【讨论】: