2

如您所见,即使在设置中禁用“自动旋转屏幕”选项时,Android 的 Youtube 应用程序也可以将屏幕从纵向旋转到横向。我该怎么做呢?谢谢大家!

4

5 回答 5

3

使用 -ActivityInfo.SCREEN_ORIENTATION_SENSOR如果您想旋转屏幕而不考虑用户的选择,请使用ActivityInfo.SCREEN_ORIENTATION_USER. 这只会在打开时旋转屏幕。

于 2013-09-19T10:45:15.117 回答
1

使用 setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR),它会忽略自动旋转选项,只要您的设备旋转就旋转。

于 2013-10-14T06:53:18.117 回答
0

你也可以使用

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

//This is the default value
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

public static void setAutoOrientationEnabled(ContentResolver resolver, boolean enabled)
{

    Settings.System.putInt(resolver, Settings.System.ACCELEROMETER_ROTATION, enabled ? 1 : 0);

}
于 2013-01-24T10:01:03.203 回答
0

在您希望能够旋转屏幕的活动的 onCreate 中使用它:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

它不会影响其他活动或整个设备设置。

我已经试过了。有用。

于 2013-08-31T03:46:07.120 回答
0

如这里所示http://developer.android.com/guide/topics/sensors/sensors_overview.html您可以注册自己的传感器(TYPE_ACCELEROMETER在这种情况下),然后监听它的事件。

当您计算出手机方向已更改时,您应该以编程方式更改布局方向。

于 2013-01-24T10:02:05.247 回答