Android:将活动转换更改为crossfade在特定情况下不工作

Android:将活动转换更改为crossfade在特定情况下不工作,android,android-activity,android-transitions,Android,Android Activity,Android Transitions,我有两个活动,我们称之为主要活动和第二活动。主要方向仅限于横向和反向横向(通过清单中的android:screenOrientation=“sensor横向”),第二个方向始终是横向(android:screenOrientation=“横向”)。我想一直保持他们之间的过渡。我正在使用此代码来实现它: int rotationAnimation = WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE; Window win = getW

我有两个活动,我们称之为主要活动和第二活动。主要方向仅限于横向和反向横向(通过清单中的
android:screenOrientation=“sensor横向”
),第二个方向始终是横向(
android:screenOrientation=“横向”
)。我想一直保持他们之间的过渡。我正在使用此代码来实现它:

int rotationAnimation = WindowManager.LayoutParams.ROTATION_ANIMATION_CROSSFADE;
Window win = getWindow();
WindowManager.LayoutParams winParams = win.getAttributes();
winParams.rotationAnimation = rotationAnimation;
win.setAttributes(winParams);
在这两个活动中,
onCreate()
onResume()
都会调用它。当从主视图切换到第二视图(包括横向视图和反向横向视图)以及在横向视图中从第二视图返回主视图时,此机制非常有效。当我在第二个活动中处于相反的环境中,并试图返回主视图时,就会出现问题。在这种情况下,标准旋转动画会触发(第二个动画锁定到横向,而主动画则适应反向横向)。所以我的crossfade动画被忽略了。
有趣的是,在Android 5(Samsing Galaxy S6)上,crossfade动画总是被正确使用,而这个问题不会发生。其他设备使用的是安卓4.4.2和4.4.4
我试着使用
覆盖PendingTransition(int-enterAnim,int-exitAnim)
解决这个问题,但它一点也没有改变

如何修复或解决此问题