Android:将活动过渡更改为交叉淡入淡出不在特定情况下工作

时间:2015-06-16 09:56:00

标签: android android-activity android-transitions

我有两个活动,我们称之为Main和Second。主要方向仅限于横向和逆向风景(通过清单中的android:screenOrientation="sensorLandscape"),第二个方向始终是风景(android:screenOrientation="landscape")。我想一直保持它们之间的交叉淡入淡出过渡。我正在使用此代码来实现它:

int rotationAnimation = WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE;
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
winParams.rotationAnimation = rotationAnimation;
win.setAttributes(winParams);

在两个活动中都会在onCreate()onResume()中调用它。当从主要切换到第二个(横向和反向横向)以及从横向从第二个切换到主要时,此机制很有效。当我在第二次活动中处于逆转状态并且我尝试回到Main时出现问题。在这种情况下,标准旋转动画触发(第二个是锁定到横向,而主要适应反转的横向)。所以不知怎的,我的交叉淡入淡出动画被忽略了。
有趣的是,在Android 5(Samsing Galaxy S6)上,交叉渐变动画总是被正确使用,并且这个问题不会发生。其他设备使用的是Android 4.4.2和4.4.4。
我尝试使用overridePendingTransition(int enterAnim, int exitAnim)来解决这个问题,但这并没有改变一些事情。

如何修复或解决此问题?

0 个答案:

没有答案