Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在android 1.6中启动一个新的活动,无过渡动画_Android_Animation_Android Activity_Android Intent - Fatal编程技术网

在android 1.6中启动一个新的活动,无过渡动画

在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的应用程序中,有没有一种方法可以实现同样的效果?使用这个:

我知道,从API级别5可以指定一个标志,以防止在我开始新活动时应用正常动画:

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的反向转换