选项"自动旋转屏幕"控制方向Android在设置中禁用?

时间:2013-01-24 09:54:36

标签: android android-orientation

正如您可以看到Android的Youtube应用程序,即使在设置中禁用选项“自动旋转屏幕”,也可以将屏幕从纵向旋转到横向。我怎么能这样呢?谢谢所有人!

5 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分: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);

}

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

在你想要能够旋转屏幕的那个活动的onCreate中使用它:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED);

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

我试过了。有用。

答案 4 :(得分:0)

使用setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_SENSOR),它将忽略自动旋转选项,只需在旋转设备时旋转。