Android 为什么我的overridePendingTransition不能在一个活动上工作
我有一个非常奇怪的问题。这与overridePendingTransition仅在1个活动转换(按下后退按钮后)和Galaxy选项卡10.1上无法正常工作有关 情况是这样的。我有一个扩展活动的BaseActivity类。我使用它来添加一些脱离android默认设置的转换更改。 我重写finish()函数,如下所示:Android 为什么我的overridePendingTransition不能在一个活动上工作,android,android-activity,transition,activity-finish,Android,Android Activity,Transition,Activity Finish,我有一个非常奇怪的问题。这与overridePendingTransition仅在1个活动转换(按下后退按钮后)和Galaxy选项卡10.1上无法正常工作有关 情况是这样的。我有一个扩展活动的BaseActivity类。我使用它来添加一些脱离android默认设置的转换更改。 我重写finish()函数,如下所示: @Override public void finish() { super.finish(); Log.i(StaticValue
@Override
public void finish()
{
super.finish();
Log.i(StaticValues.TAG, "Calling finish in ActivityBase");
overridePendingTransition(getAnimationId("slide_in_right") ,getAnimationId("slide_out_right"));
}
我必须使用getAnimationId,因为我使用的是unity,不能在右/左中使用R.anim.slide
此外,getAnimationId是下面的函数,适用于可能需要了解的任何人:
protected int getAnimationId(String animName)
{
if(mResources == null)
{
mResources = this.getResources();
}
return mResources.getIdentifier(animName, "anim", mPackage);
}
现在奇怪的部分来了。这在我的nexus S手机上的主活动中调用基于ActivityBase的任何活动时都非常有效。在我的Galaxy Tab 10.1上调用两个活动(仅信息活动、网页链接等)时效果也很好,但在调用第三个活动(录音机)时,过渡正常(幻灯片),但退出时(通过调用finish或back按钮),方向似乎变为横向(标准主屏幕,因为这是一个平板电脑)然后加载主活动回到原来的方式
既然我给了你这方面的历史。有人能告诉我为什么这可能只发生在一个活动上,而只发生在平板电脑上
public void finish()
{
removeUnsavedRecording();
super.finish();
}
以上是我在“音频录制器”活动中重写的完成函数。好的,我已修复了此错误,并以一种奇怪的方式进行了修复。我的“音频录制器”活动在测试阶段是一个启动程序类。出于某种原因,设备为此缓存了退出动画。(奇怪)。因此,我通过更改ActivityBase finish()来修复此问题方法重写为另外两个动画(有效),然后将它们更改回 因此,我唯一的选择是相信应用程序以某种方式缓存了此活动的默认动画(从它是启动程序活动时开始)。对此,没有任何其他解释