在android 1.6中启动一个新的活动,无过渡动画
我知道,从API级别5可以指定一个标志,以防止在我开始新活动时应用正常动画:在android 1.6中启动一个新的活动,无过渡动画,android,animation,android-activity,android-intent,Android,Animation,Android Activity,Android Intent,我知道,从API级别5可以指定一个标志,以防止在我开始新活动时应用正常动画: myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION); Intent i = new Intent(this, YourNewActivity.class); startActivity(i); overridePendingTransition(0,0); 然而,我的问题是:在支持android 1.6的应用程序中,有没有一种方法可以实现同样的效果?使用这个:
myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Intent i = new Intent(this, YourNewActivity.class);
startActivity(i);
overridePendingTransition(0,0);
然而,我的问题是:在支持android 1.6的应用程序中,有没有一种方法可以实现同样的效果?使用这个:
getWindow().setWindowAnimations(0)代码>在正在启动的活动中。在较新版本中,您希望在启动活动后不久用0,0覆盖转换:
myIntent.setFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
Intent i = new Intent(this, YourNewActivity.class);
startActivity(i);
overridePendingTransition(0,0);
我在2.1和4.0.3上试过这个,它对我有效
我在文档中找到了它这个解决方案适合我(Android 2.2):
在创建活动时输入以下代码:
getWindow().setWindowAnimations(0);
仅供参考,我在4.4.2上,我发现只有这些东西是有效的:
要防止打开动画:在启动活动的onCreate()中,添加overridePendingTransition(0,0)
要防止关闭动画:在finish()之后,立即调用overridePendingTransition(0,0)
这些都不起作用(至少在我的4.4.2版本中不起作用):(1)在onCreate()中调用getWindow().setWindowAnimations(0)(传入一个非零的数字确实起作用,但这是一个丑陋的hack,因为它需要resId),以及(2)在startActivity()之后立即调用overridePendingTransition(0,0)——动画仍然存在。谢谢,这条线应该去哪里,在我开始的活动中还是在我开始它的活动中?这在4.0.3上对我起了作用-不知道为什么它被否决了。。。也许是因为这个问题在Android 1.6中提出了一些问题?它导致了2.3.5的反向转换