Android'onConfigurationChanged'事件未被解雇

时间:2013-08-06 10:36:03

标签: android orientation android-orientation

当我们从函数setRequestedOrientation调用onConfigurationChanged然后onConfigurationChanged永远不会被调用之后?

正如我在某处读到的那样,当我们从活动中调用setRequestedOrientation函数时,函数onConfigurationChanged永远不会被调用。

我现在处于死区,无路可走。

我的活动只需要以纵向模式显示,但是当用户在视频视图中播放视频,然后当用户将方向更改为横向时,我需要在横向中制作活动+视频。

问题是当我调用setRequestedOrientation方法将应用程序方向设置为纵向时,方法onConfigurationChanged永远不会被调用。

当我删除电话setRequestedOrientation时,当视频未运行时,当用户更改方向时,我的活动也会更改我无法控制的方向。

2 个答案:

答案 0 :(得分:1)

再次通过传感器获取设备方向。

setRequestedOrientation( ActivityInfo.SCREEN_ORIENTATION_SENSOR );

答案 1 :(得分:0)

setRequestedOrientation调用是强制您的活动保持在给定的方向,因此您可以将其锁定为肖像,例如。这就是onConfigurationChanged未被调用的原因。

如果要旋转应用程序,则可以为每个方向指定不同的布局XML文件,或者获取应用程序的方向并以编程方式处理它。

见这里:http://developer.android.com/reference/android/app/Activity.html#setRequestedOrientation(int)

在这里:http://developer.android.com/reference/android/content/res/Configuration.html#orientation